Занятие 9. Справочник
Создание и «стандартное» чтение двумерного массива
Обычно сначала задается размер массива, потом сами элементы.
int N = 0, M = 0;
N = in.nextInt();
M = in.nextInt();
//Массив в Java – это объект, поэтому его
//следует создавать командой new
int[][] a = new int[N][M];
for (int y = 0; y < N; y++)
{
for (int x = 0; x < M; x++)
{
a[y][x] = in.nextInt();
}
}
Обратите внимание: внешний цикл идет по строкам, а внутренний по элементам строк.
Вывод двумерного массива в виде таблицы
for (int y = 0; y < N; y++)
{
for (int x = 0; x < M; x++)
{
out.print (a[y][x] + ” ”); //разделяем элементы пробелами
}
out.print ();//переводим на новую строку
}
Cумма всех элементов двумерного массива
int s = 0;
for (int y = 0; y < N; y++)
{
for (int x = 0; x < M; x++)
{
s += a[y][x];
}
}
Сумма элементов главной диагонали двумерного массива
Если массив квадратный – размером NxN
int s = 0;
for (int i = 0; i < N; i++)
{
s += a[i][i];
}
Неровные двумерные массивы
Двумерный массив это – массив массивов. А массивы в Java - это объекты. Создадим, скажем, треугольный массив на N строк. В первой строки один элемент, во второй два и т.д.
int a[N][] = new int[N][]; // вторые скобки оставляем пустыми!
for (int i = 0; i < N; i++)
{
a[i] = new int[i];
}
Свойство length позволяет обрабатывать эту структуру двумя вложенными циклами. Например, выведем все элементы:
for (int y = 0; y < a.length; y++) //a.length – количество строк
{
for (int x = 0; x < a[y].length; x++) //a[y].length - количество
{ //элементов в строках
out.print (a[y][x] + ” ”);
}
out.println();
}