Многомерные массивы
Элементами массивов в Java могут быть снова массивы. Можно объявить:
char[] [] с;
что эквивалентно
char с[] с[];
или
char с[][];
Затем определяем внешний массив:
с = new char[3][];
Становится ясно, что с — массив, состоящий из трех элементов-массивов. Теперь определяем его элементы-массивы:
с[0] = new char[2];
с[1] = new char[4];
с[2] = new char[3];
После этих определений переменная с.length равна з, с[0] .length равна 2,
c[l].length равна 4 и с[2.length равна 3.
Наконец, задаем начальные значения с [0] [0] = 'a', с[0][1] = 'r',
с[1][0] = 'г',с[1][1] = 'а',с[1][2] = 'у' и т.д.
Замечание
Двумерный массив в Java не обязан быть прямоугольным.
Описания можно сократить:
int[] [] d = new int[3] [4];
А начальные значения задать так:
int[][] inds = {{I, 2, 3}, {4, 5, 6}};
В листинге 1.6 приведен пример программы, вычисляющей первые 10 строк треугольника Паскаля, заносящей их в треугольный массив и выводящей его элементы на экран. Рис. 1.4 показывает вывод этой программы.
Листинг 1.6.
Треугольник Паскаля
class PascalTriangle{
public static final int LINES = 10; // Так определяются констан
public static void main(String[] args) {
int[][] p, = new int [LINES] [];
p[0] = new int[1];
System, out. println (p [0] [0] = 1);
p[l] = new int[2];
p[l][0] = p[l][1] = 1;
System.out.println(p[1][0] + " " + p[l][l]);
for (int i = 2; i < LINES; i++){
p[i] = new int[i+l];
System.out.print((p[i][0] = 1) + " ");
for (int j = 1; j < i; j++)
System.out. print ( (p[i] [j] =p[i-l][j-l] -bp[i-l][j]) + " ");
System, out. println (p [ i] [i]
=
1)
}
}
}
Рис. 1.4.
Вырод треугольника Паскаля в окно-Gomrriand - Prompt