Иллюстрированный самоучитель по Java

       

Многомерные массивы


Элементами массивов в 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



Содержание раздела