Как многомерный массив построить индекс в Java?
- int [] [] [] a = new int [3] [3] [5];
- int [] [] [] b = new int [2] [] []; b [0] = new int [2]; // вот почему мы получаем ошибку. в приведенном выше коде, как Java заключить в скобки.
в Java, как приведенный выше код будет выделять память в концепции массива массива.
2 ответа
Решение
вот почему мы получаем ошибку. в приведенном выше коде, как Java заключить в скобки.
int [][][] b = new int[2][][]; //b is an array of (array of (array of int))
b[0] = new int[2]; //b[0] is an (array of (array of int))
Вы назначаете int[2]
только (массив int) для b[0]
следовательно, дает вам ошибку.
b[0] = new int[2][]; //assign (array of (array of int)) to b[0] --> OK
Короче, b[0]
ожидает двухмерный массив, и вы в настоящее время назначаете ему одномерный массив, и это вызывает ошибку.
Массив int [][][] b = new int[2][][];
является массивом массива массива. Так b[0]
это массив массивов. Вы выделяете память только для первого измерения, а не второго, поэтому вы получаете ошибку. Пытаться b[0] = new int[2][];