public static int[][][] multiArray = new int[][][]{{{4, 8, 15}, {16}}, {{23, 42}, {}}, {{1}, {2}, {3}, {4, 5}}};
public static void main(String[] args) {
for (int i = 0; i < multiArray.length; i++) {
for (int j = 0; j < multiArray[i].length; j++) {
for (int k = 0; k < multiArray[i][j].length; k++) {
System.out.print(multiArray[i][j][k] + " ");
}
System.out.println();
}
System.out.println("----------");
Какова функция введения переменных int i,j,k? Переменная int i , если исходить из объяснений в лекции, перебирает строки массива multiArray, int j строки массива multiArray[i].length и т.п. Но почему отсчет с нуля? Почему в консоль будут выведены только заданные значения, а все значения до, которые меньше, будут пропущены?
Rina
16 уровень
Значения переменных
Решен
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #598481
27 августа 2021, 12:57
multiArray - это трехмерный массив, то есть массив двумерных массивов.
Его размер multiArray.length равен количеству двумерных массивов в нем, в данном случае три.
Соответственно переменная i перебирает возможные индексы элементов трехмерного массива от 0 до 2 включительно.
Каждый двумерный массив - это массив одномерных массивов.
Соответственно сколько в каждом из них одномерных массивов, такая и будет длина каждого из двумерных массивов multiArray[]. В данном примере в первом двумерном массиве содержится два одномерных, во втором тоже два, в третьем четыре. Поэтому в зависимости от значения i переменная j будет варьироваться в диапазоне [0; 1] при i = 0 или i = 1 и в диапазоне [0; 3] при i = 2.
Например, при i = 1 и j = 0
multiArray[i][k] = multiArray[1][0] = {23, 42}, т.к. мы смотрим в двумерный массив с индексом [1], в нем в одномерный массив с индексом [0].
Длина каждого одномерного массива тоже у каждого своя. Поэтому переменная k будет меняться от нуля до количества чисел в соответствующем одномерном массиве. В массиве, который я выбрал выше два числа, поэтому k там может принять два возможных значения - 0 и 1.
+13
Alexander Khazov
27 августа 2021, 13:06
Спасибо огромное, случайно зашел и ваш ответ - супер)
0
Rina
28 августа 2021, 03:03
Спасибо огромное за такой подробный ответ!
0