1 Востаннє редагувалося booratina (03.10.2016 21:13:15)

Тема: Масиви у Java

int [][] mas = new int [10][];

for(int i = 0; i < mas.length; i++)
{
mas[i] = new int [10];
}

Навіщо потрібен перший ЦИКЛ?   
Якщо можна так    int [][] mas = new int [10][10]

2

Re: Масиви у Java

booratina написав:

Навіщо потрібен перший ЦИКЛ?

Цей код надали ви, вам має бути видніше, навіщо він потрібен і чому ви єдиний цикл в цьому коді називаєте "першим".

Подякували: leofun011

3

Re: Масиви у Java

koala написав:
booratina написав:

Навіщо потрібен перший ЦИКЛ?

Цей код надали ви, вам має бути видніше, навіщо він потрібен і чому ви єдиний цикл в цьому коді називаєте "першим".

Пeрший тому що інш. частина коду нe потрібна.
Код цe нe мій а з відeоуроку. Дякую

4 Востаннє редагувалося koala (04.10.2016 08:24:59)

Re: Масиви у Java

Тоді вчиться правильно ставити питання. От почали б з "я навчаюся Java за відеоуроками" - на цьому б і закінчили. Читайте книжки, за відеоуроками ви навряд чи навчитеся.

Подякували: cheappi3861

5

Re: Масиви у Java

koala написав:

Тоді вчиться правильно ставити питання. От почали б з "я навчаюся Java за відеоуроками" - на цьому б і закінчили. Читайте книжки, за відеоуроками ви навряд чи навчитеся.

Хотілось би відповідь на питання почути. А за пораду дякую.

Подякували: Lujok1

6

Re: Масиви у Java

Відповідь "нінащо" чи "автору так схотілося" вас влаштує?

7

Re: Масиви у Java

Ну не знаю, як там в java з внутрішньою організацією цього діла, а в С malloc-ом заводився масив вказівників і в кожний з них malloc-ом же отримувався один рядок масиву — щоб продемонструвати можливість/спосіб створення векторизованого масиву. Функціонує як двовимірний, але зроблений «всередині» не як суцільний двовимірний масив, а як одновимірний масив з посилань на одновимірні масиви.

Навіщо може бути це потрібним? Ну не знаю, залежить від задачі.

Починаючи від можливості легко заміняти на нові чи міняти місцями рядки цього масиву (просто заміна посилань без переміщення пам'яті) і закінчуючи відсутністю потреби мати для виділення один великий неперервний шмат (було дуже актуально у msdos-ні часи «640 кілобайт має вистачити будь-кому»).

8

Re: Масиви у Java

Може стане зрозумылыше! Ось весь код

public class pr2 {
public static void main(String[] args) {
// TODO Auto-generated method stub

int [][] mas = new int [10][];
//Зачем нужен этот ЦИКЛ?    
for(int i = 0; i < mas.length; i++)
{
mas[i] = new int [10];
}

for(int i = 0; i < mas.length; i++)
{
System.out.println();

for(int j = 0; j < mas[i].length; j++)
{
mas [i][j] = (int) (Math.random()*100);
System.out.print(mas [i][j] + " ");
}}}}

9

Re: Масиви у Java

Стало "зрозумылыше", що автор цього коду - постійний автор відомого сайту.
Не треба у таких вчитися, чесно кажу.

10

Re: Масиви у Java

у кого трeба вчитися дайтe вeктор напрямку:)

11

Re: Масиви у Java

https://uk.wikibooks.org/wiki/%D0%9E%D1 … D0%BE_Java
Там ще й посилання є.

12

Re: Масиви у Java

booratina написав:

у кого трeба вчитися дайтe вeктор напрямку:)

Ну, якщо Вам потрібні відео-уроки, то подивіться YouTube, таких авторів: Юрій Ткач, Іван Головач.

Подякували: Lujok1

13 Востаннє редагувалося Влад Власік (07.11.2016 02:09:31)

Re: Масиви у Java

Всім доброго дня!

Виникла проблема з записом елемента в масив. При виконанні коду, зчитується ім'я і записується у масив. Проблема полягає в тому, що запис починається із другого елементу масиву, а не з першого.
Якщо у когось є вільний час щоб допомогти, подивіться мій код, в чому помилка?
Буду дуже вдячний за будь яку допомогу!!!
Ps: Початківець у Java.

import java.util.Arrays;
import java.util.Scanner;
public class Test {
    public static void main(String args[]){
        Scanner in = new Scanner(System.in);

        System.out.println("Введіть кількість студентів:");
        int n = in.nextInt(); //запит на кількість студентів

        String areey[]=new String[n]; //масив з іменами студентів, розмір рівний кількості студентів


        for (int i=0; i<n; ++i ){ //цикл в якому заповнюються елементи масиву
            System.out.println("Введіть ім'я: ");
            areey[i]=in.nextLine(); //зчитування з клавіатури ім'я та запис його в масив
            }
        System.out.println(Arrays.toString(areey)); //виведення масиву у консоль
    }
}

14

Re: Масиви у Java

Проблема у сканері. При першому виклику in.nextLine() зчитується не наступний рядок, а залишок рядка, в якому було введено число (і якщо в цьому рядку після числа йтимуть іще якісь символи, програма їх зчитає як перше «ім'я»). Щоб цього позбутись, додатково викличте in.nextLine(); перед циклом.

Подякували: Влад Власік1

15

Re: Масиви у Java

хм..от ви показали цей шматочок коду і все. Яку задачу вирішуєте..як вам сказати що потрібно, а що ні? Як на мене цикл там доречний. І ви самі писали той код? Навіщо тоді питаєте про той цикл.
Зараз продивився уважніше. У вас це просто різні реалізації от і все.
Краще той шматочок, що коротше. Отже ви самі відповіли на своє питання. Це я провів аналіз у слух :)
І ще порада..дійсно читайте книжки..їх пишуть дійсно люди які розбираються, а відео уроки зараз створюють дуже багато людей. Або користуйтесь вже відомими та від надійних джерел уроками..наприклад udacity, codecademy.

Подякували: Влад Власік1

16

Re: Масиви у Java

Дякую за відповідь та пораду!

Завдання поставлено наступним чином: написати програму, для внесення імен n-ї кількості студентів у програму та подальше виведення повного списку(виведення всіх імен) на екран. Дану програму написати з використанням масиву.