2013-10-09 4 views
0

Im в настоящее время застревает, пытаясь получить размер элементов. Это работает, если его в 2dПолучение размера многомерного массива

  String[][] = new String[5][10]; 

      System.out.println(test[1].length); 

Однако позволяет сказать, что у меня есть этот

  String[][][] = new String[5][10][15]; 
      System.out.println(test[2].length); 

выше, не будет работать. Есть ли способ получить размер 3-го элемента, который равен 15? Отредактировано. Спасибо за ваши ответы.

+0

Почему вы говорите: «Выше это не сработало». Какое исключение вы получаете? – shazin

ответ

5

Поскольку ваш пример 3D-массив, вы хотите длину «второе измерение»:

System.out.println(test2[0][0].length); 
2

Я полагаю, что вам нужно будет что-то вроде test[0][0].length

+0

'new String [5] [10] [15]' гарантирует, что массивы создаются на каждом уровне. Он просто не создает '' String 's на самом нижнем уровне. –

+0

@ Code-Guru Может быть, я неправильно сформулировал это ... – MadProgrammer

+0

@ Code-Guru Это второе предложение, подразумевающее, нет? По крайней мере, я понял такой способ :) –

3

каждый многомерный массив просто массив, где каждый элемент содержит массив.

поэтому в случае 3-мерного массива каждый элемент имеет 2-мерный массив внутри. и каждый элемент из него имеет 1 мерный массив внутри. Так что вам нужно сделать:

String[][][] array = new String[5][10][15]; 
int length = array[0][0].length; 

Так говорил тест [2], как в вашем коде, мы имеем в виду 2-мерный массив, который находится на третьем месте и имеет размер [10] [15]

Смежные вопросы