int[][] array = new int[10][];
array[0] = new int[1];
array[1] = new int[2];
array[2] = new int[3];
Объясните пожалуйста эти строчки кода мы типо этим: array[0] = new int[1]; обращаемся к индексу 0 и он становится 1 или как немного не до понял?
Danya
17 уровень
Помогите разобраться
Обсуждается
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Alpha
20 марта 2025, 07:16
int[][] array = new int[10][];
array[0] = new int[1];
array[1] = new int[2];
array[2] = new int[3];
//Выводим длину основного (назовем его верхним для понимания) массива
System.out.println(array.length);
//Выводим длину подмассива, который имеет индекс '0' в верхнем массиве
System.out.println(array[0].length);
//Отлично, теперь пробуем записать туда данные, указываем опять индекс '0' верхнего массива
//и индекс подмассива в ячейке '0' основного
array[0][0] = 777;
System.out.println(array[0][0]); // Замечательно, работает
//Теперь пробуем индекс '0' верхнего массива и индекс '1' в подмассиве
//(мы все еще в индексе '0' основного массива, обращаем на это внимание)
array[0][1] = 888;
System.out.println(array[0][1]); //Ошибка, превышена длина массива, ведь мы ее указали '1': array[0] = new int[1];
//То есть, чтобы обратится к индексу вложенного массива, сначала обращаемся к индексу верхнего массива, а затем указываем индекс подмассива.
Сделал рисунок для наглядности:
![]()

0
hidden #3303140
19 марта 2025, 20:31
`array` - это так называемый двумерный массив, то есть массив, элементы которого являются массивами чисел int[]. `array[0]` - это элемент массива под индексом [0]. `new int[1]` - это команда создания массива чисел длиной в 1 элемент. `=` - это операция присвоения. Соответственно ты помещаешь в первый элемент массива array массив из одного числа. Аналогичным образом в следующий элемент ты помещаешь массив из двух чисел и так далее.
0