Как многомерный массив построить индекс в Java? - PullRequest
0 голосов
/ 07 декабря 2018
  1. int [] [] [] a = new int [3] [3] [5];
  2. int [] [] [] b = new int [2] [] [];b [0] = new int [2];// вот почему мы получаем ошибку.в приведенном выше коде, как Java заключить в скобки.

в Java, как вышеуказанный код будет выделять память в концепции массива массива.

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

вот почему мы получаем ошибку.в приведенном выше коде, как 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] ожидает двухмерный массив, и вы в настоящее время присваиваете ему одномерный массив, и это вызывает ошибку.

0 голосов
/ 07 декабря 2018

Массив int [][][] b = new int[2][][]; является массивом массива массива.Так что b[0] это массив массивов.Вы выделяете память только для первого измерения, а не второго, поэтому вы получаете ошибку.Попробуйте b[0] = new int[2][];

...