Статьи по Java

Java – Сложение массивов

В этом посте о программировании на Java я покажу вам, как сложить два массива и создать из них новый массив.

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

В дополнение к демонстрации суммы я покажу вам, как вывести три массива.

Проход по матрице

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

for (int y = 0; y < matrix1.length; y++) { for (int x = 0; x < matrix1[y].length; x++) { } }

Во втором цикле у нас уже есть доступ к элементу, для этого мы обращаемся к matrix[y][x].

Выполнение сложения матриц

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

Мы начинаем объявлять матрицу, в которой будет находиться сумма, и приступаем к сложению элементов:

// Сначала вычисляем сумму int[][] matrixSum = new int[matrix1.length][matrix1[0].length]; for (int y = 0; y < matrix1.length; y++) { for (int x = 0; x < matrix1[y].length; x++) { int numMatrix1 = matrix1[y][x]; int numMatrix2 = matrix2[y][x]; int sum = numMatrix1 + numMatrix2; matrixSum[y][x] = sum; } }
Code language: JavaScript (javascript)

Теперь осталось только вывести результат.

// Затем выводим заголовки System.out.println("\t\t\t1\t\t\t\t\t2\t\t\t\tСумма"); for (int x = 0; x < 62; x++) { System.out.print("_"); } System.out.println(); // Наконец, выводим результат for (int y = 0; y < matrix1.length; y++) { for (int x = 0; x < matrix1[y].length; x++) { System.out.printf("%5d ", matrix1[y][x]); } System.out.print(" | "); for (int x = 0; x < matrix2[y].length; x++) { System.out.printf("%5d ", matrix2[y][x]); } System.out.print(" | "); for (int x = 0; x < matrixSum[y].length; x++) { System.out.printf("%5d ", matrixSum[y][x]); } System.out.print(" | "); System.out.println(); }
Code language: PHP (php)

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

Собираем все вместе

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

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

public class Main { static void summMatrixes(int[][] matriz1, int[][] matriz2) { // Сначала вычисляем сумму int[][] matrixSum = new int[matrix1.length][matrix1[0].length]; for (int y = 0; y < matrix1.length; y++) { for (int x = 0; x < matrix1[y].length; x++) { int numMatrix1 = matrix1[y][x]; int numMatrix2 = matrix2[y][x]; int sum = numeroMatrix1 + numeroMatrix2; matrixSum[y][x] = sum; } } // Затем выводим заголовки System.out.println("\t\t\t1\t\t\t\t\t2\t\t\t\tСумма"); for (int x = 0; x < 62; x++) { System.out.print("_"); } System.out.println(); // Наконец, выводим результат for (int y = 0; y < matrix1.length; y++) { for (int x = 0; x < matrix1[y].length; x++) { System.out.printf("%5d ", matrix1[y][x]); } System.out.print(" | "); for (int x = 0; x < matrix2[y].length; x++) { System.out.printf("%5d ", matrix2[y][x]); } System.out.print(" | "); for (int x = 0; x < matrixSum[y].length; x++) { System.out.printf("%5d ", matrixSum[y][x]); } System.out.print(" | "); System.out.println(); } } public static void main(String[] args) { int[][] matrix1 = { {10, 5, 12}, {98, 5, 6}, {8, 4, 6}, }; int[][] matrix2 = { {8, 7, 5}, {19, 56, 4}, {8, 76, 90}, }; summMatrixes(matrix1, matrix2); } }
Code language: PHP (php)

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

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