Как заполнить двумерный массив java
Перейти к содержимому

Как заполнить двумерный массив java

Как заполнить двумерный массив java

10 августа 2014 Мария (admin)

В уроке 10 мы научились создавать одномерные массивы. Подобным образом в Java можно создать двумерный, трехмерный, четырехмерный… иначе говоря, многомерные массивы. Многомерный массив в Java по сути является массивом из массивов.

Популярным примером использования такого рода массивов, являются матрицы, для представления которых, используются двумерные массивы. Итак, что же такое матрица и как ее представить с помощью двумерного массива в Java.

Матрицы и двумерные массивы в Java

Матрица это прямоугольная таблица, состоящая из строк и столбцов на пересечении которых находятся её элементы. Количество строк и столбцов матрицы задают ее размер.

Общий вид матрицы размером m x n ( m — количество строк, n — количество столбцов), выглядит следующим образом:

Каждый элемент матрицы имеет свой индекс, где первая цифра обозначает номер строки на которой находится элемент, а вторая — номер столбца.

Рассмотрим примеры конкретных матриц и создадим их с помощью Java.

Матрица A имеет размерность 2 на 3 (2 строки, 3 столбца). Создадим двухмерный массив этой размерности:

Мы объявили двумерный массив целых чисел (поскольку матрица в данном случае содержит целые числа) и зарезервировали для него память. Для этого мы использовали 2 индекса: первый индекс определяет строку и ее размер, второй индекс определяет столбец и его размер.

Далее будем инициализировать массив поэлементно. Запишем матрицу A в виде таблицы, чтобы было визуально понятно, какому индексу соответствует элемент.

Для доступа к элементам двумерного массива необходимо использовать 2 индекса: первый для строки, второй – для столбца. Как и в случае с одномерными массивами, индексы также начинаются с нуля. Поэтому нумерация строк и столбцов в таблице начинается с 0.

Для того, чтобы вывести матрицу на консоль, нужно пройти все элементы, используя два цикла. Количество циклов, при прохождении элементов массива, равно его размерности. В нашем случае первый цикл осуществляется по строкам, второй — по столбцам.

То есть, сначала выводим все элементы первой строки, отделяя их символом табуляции » \t», переносим строку и выводим все элементы второй строки.

Полностью код для матрицы А выглядит следующим образом:

Для матрицы B воспользуемся упрощенным способом инициализации — в момент объявления. По аналогии с одномерными массивами.

Каждую строку массива необходимо заключить в пару фигурных скобок и отделить друг от друга запятой.

Полностью код для матрицы B:

Рассмотрим инициализацию в цикле для двумерного массива на примере таблицы умножения.

Здесь инициализация элементов значениями таблицы умножения совмещена с их выводом на консоль в одном цикле.

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

Создаются многомерные массивы в Java аналогичным способом. Количество квадратных скобок указывает на размерность.
Примеры создания массивов фиксированной длины:

Однако, не обязательно изначально указывать размер на всех уровнях, можно указать размер только на первом уровне.

В данном случае, пока неизвестно сколько будет элементов в каждой строке, это можно определить позже, причем, массив может содержать в каждой строке разное количество элементов, то есть быть несимметричным. Определим количество элементов в каждой строке для массива a1

В результате, при выводе на экран,

массив будет иметь такой вид:

0
0 0
0 0 0
0 0 0 0
0 0 0 0 0

При создании массива его элементы автоматически инициализируются нулями, поэтому в это примере на экран выведены нули.

Упражнения на тему многомерные массивы в Java:

  1. Создайте массив размерностью 5 на 6 и заполните его случайными числами (в диапазоне от 0 до 99 ). Выведите на консоль третью строку
  2. Даны матрицы С и D размерностью 3 на 3 и заполненные случайными числами в диапазоне от 0 до 99. Выполните по отдельности сначала сложение, потом умножения матриц друг на друга. Выведете исходные матрицы и результат вычислений на консоль.
  3. Просуммируйте все элементы двумерного массива.
  4. Дан двумерный массив, содержащий отрицательные и положительные числа. Выведете на экран номера тех ячеек массива, которые содержат отрицательные числа.
  5. Отсортируйте элементы в строках двумерного массива по возрастанию

Категория: Уроки Java

Двумерные массивы в Java

Вы уже знаете что такое массивы в Java и как с ними работать?

1. Если ответ «нет» — прочтите сначала статью «Массивы в Java»

2. Если ответ «да» — читайте статью ниже о двумерных массивах.

Поскольку Вы уже знаете что такое массивы и как с ними работать, наверняка, для Вас не проблема:

  • создать одномерный массив
  • заполнить его значениями
  • и вывести в консоль
Например:
Ну, а что же с двумерным массивом?

Самый, наверное, распространенный пример двумерного массива — это матрица. Если кто забыл что такое матрица, напоминаем:

array_vertex-academy-2

В матрице есть строки и столбцы . На пересечении их стоит определенное значение.

array_vertex-academy-3

Напоминаем, что счет в массивах начинается с 0 .

— число 1 это пересечение 0 — строки и 0 — столбца
— число 2 это пересечение 0 — строки и 1 — столбца
— число 3 это пересечение 1 — строки и 0 — столбца
— число 4 это пересечение 1 — строки и 1 — столбца

Ниже приводим пример объявления двумерного массива на языке программирования Java:

Или можно сразу объявить содержимое массива:

При инициализации двумерного массива, можно заметить отличие от обычного массива. В двумерном массиве Вы используете две квадратные скобки вместо одной.

  • в первой вы пишите количество строк
  • во второй вы пишите количество столбцов

При заполнении двумерного массива Вы указываете в этих скобках строку и столбец.

Например
А как же вывести двумерный массив в консоль?

Вывод двумерного массива с помощью цикла for сильно отличается от вывода обычного массива (когда используется цикл for).

Чтобы вывести в каждую ячейку двумерного массива значение, не достаточно использовать один цикл for. Необходимо использовать два цикла for, при этом один из них находится в другом.

Почему так?

Ранее упоминалось, что двумерный массив состоит из строк и столбцов. Каждая ячейка такого массива — это пересечение какой-то строки и столбца.

1. Так что первый цикл for перебирает каждую строку двумерного массива (которая содержит какое-то количество столбцов).

2. А второй цикл for перебирает столбцы в этой строке. Таким образом можно заполнить значением каждый элемент двумерного массива.

Например:

Если Вы запустите данный код на своем компьютере, в консоли Вы увидите:

Надеемся, что наша статья была Вам полезна. Также есть возможность записаться на наши курсы по Java в Киеве. Обучаем с нуля. Детальную информацию Вы можете найти у нас на сайте.

Как заполнить двумерный массив в Java

Не могу понять, как заполнить двумерный массив цифрами от 1 до 8 размерностью 8 на 8, кроме как заполнить его вручную. Но это очень не эффективно. Как сделать?

user avatar

user avatar

Всё ещё ищете ответ? Посмотрите другие вопросы с метками java или задайте свой вопрос.

Site design / logo © 2022 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2022.6.10.42345

Нажимая «Принять все файлы cookie», вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *