English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник Java

Java Управление потоком

Java Массивы

Java Ориентированность на объекты (I)

Java Ориентированность на объекты (II)

Java Ориентированность на объекты (III)

Обработка исключений Java

Java Список (List)

Java Queue (очередь)

Java Map коллекции

Java Set коллекции

Java Вход/Выход (I/O)

Java Reader/Writer

Другие темы Java

Java программа умножает две матрицы с использованием多维ных массивов

Java полные примеры

В этой программе вы узнаете, как умножать две матрицы с помощью多维ных массивов в Java.

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

c1 = r2

Размер конечного произведения матриц составляет r1 x c2, то есть

product[r1][c2]

Вы также можетеИспользование функции для умножения двух матриц.

Пример: программа для умножения двух матриц

public class MultiplyMatrices {
    public static void main(String[] args) {
        int r1 = 2, c1 = 3;
        int r2 = 3, c2 = 2;
        int[][] firstMatrix = {{3, -2, 5}, {3, 0, 4}};
        int[][] secondMatrix = {{2, 3}, {-9, 0}, {0, 4}};
        // Двумерные матрицы умножаются
        int[][] product = new int[r1][c2];
        for (int i = 0; i < r1; i++) {
            for (int j = 0; j < c2; j++) {
                for (int k = 0; k < c1; k++) {
                    product[i][j] += firstMatrix[i][k] * secondMatrix[k][j];
                {}
            {}
        {}
        // 显示结果
        System.out.println("Сумма двух матриц равна: ");
        for (int[] row : product) {
            for (int column : row) {
                System.out.print(column + "    ");
            {}
            System.out.println();
        {}
    {}
{}

При выполнении этой программы, вывод будет следующим:

Сумма двух матриц равна:
24    29    
6    25

В上面的 программе умножение происходит следующим образом:

|-    (a11 * b11) + (a12 * b21) + (a13 * b31)    (a11 * b12) + (a12 * b22) + (a13 * b32)    -|
|_    (a21 * b11) + (a22 * b21) + (a23 * b31)    (a21 * b12) + (a22 * b22) + (a23 * b32)    _|

В нашем примере это происходит следующим образом:

|-    (3 * 2) + (-2 * -9) + (5 * 0) = 24    (3 * 3) + (-2 * 0) + (5 * 4) = 29    -|
|_    (3 * 2) + (0 * -9) + (4 * 0) = 6    (3 * 3) + (0 * 0) + (4 * 4) = 25    _|

Java полные примеры