使用多维数组的 Java 矩阵乘法程序


在本文中,我们将了解如何使用 Java 中的多维数组来乘以两个矩阵。矩阵的元素具有行和列的排列。具有 m 行和 n 列的矩阵可以称为m × n 矩阵

矩阵中的单个条目称为元素,可以用a[i][j]表示,表示元素 a 位于第 i 行和第 j 列。

问题陈述

编写一个 Java 程序,使用多维数组乘以两个矩阵。以下是相同的演示 -

输入

First matrix: 2 3 4 5 2 3 4 6 9 Second matrix: 1 5 3 5 6 3 8 1 5

输出

The product of two matrices is: 49 32 35 39 40 36 106 65 75

不同的方法

以下是使用多维数组乘以两个矩阵的不同方法 -

Learn Java in-depth with real-world projects through our Java certification course. Enroll and become a certified expert to boost your career.

使用 main() 方法

以下是使用多维数组乘以两个矩阵的步骤 -

  • main() 方法中定义矩阵的大小并初始化两个矩阵。
  • 使用嵌套循环打印第一个和第二个矩阵。
  • 创建一个第三个矩阵来存储两个矩阵的乘积。
  • 使用嵌套循环通过迭代矩阵的行和列来计算乘积。
  • 将计算出的乘积存储在结果矩阵中。
  • 打印包含两个矩阵乘积的结果矩阵。

示例

在这里,我们将所有操作绑定到main() 方法下 -

Open Compiler
public class MultiplyMatrices { public static void main(String[] args) { int matrix_size = 3; int[][] input_matrix_1 = { {2, 3, 4}, {5, 2, 3}, {4, 6, 9} }; System.out.println("The first matrix is defined as: "); for (int i = 0; i < matrix_size; i++) { for (int j = 0; j < matrix_size; j++) { System.out.print(input_matrix_1[i][j] + " "); } System.out.println(); } int[][] input_matrix_2 = { {1, 5, 3}, {5, 6, 3}, {8, 1, 5} }; System.out.println("The second matrix is defined as: "); for (int i = 0; i < matrix_size; i++) { for (int j = 0; j < matrix_size; j++) { System.out.print(input_matrix_2[i][j] + " "); } System.out.println(); } int[][] resultant_matrix = new int[matrix_size][matrix_size]; for(int i = 0; i < matrix_size; i++) { for (int j = 0; j < matrix_size; j++) { for (int k = 0; k < matrix_size; k++) { resultant_matrix[i][j] += input_matrix_1[i][k] * input_matrix_2[k][j]; } } } System.out.println("\n The product of two matrices is: "); for(int[] row : resultant_matrix) { for (int column : row) { System.out.print(column + " "); } System.out.println(); } } }

输出

The first matrix is defined as:
2 3 4
5 2 3
4 6 9

The second matrix is defined as:
1 5 3
5 6 3
8 1 5

The product of two matrices is:
49 32 35
39 40 36
106 65 75

使用封装

以下是使用 封装 使用多维数组乘以两个矩阵的步骤 -

  • 定义一个静态multiply() 方法来执行矩阵乘法。
  • 在 multiply() 方法内部,我们将创建一个矩阵来存储结果。
  • 使用嵌套循环将输入矩阵的对应行和列相乘并存储乘积。
  • 在 multiply() 方法内部打印结果矩阵。
  • main() 方法中,定义并初始化两个矩阵。
  • 打印第一个和第二个矩阵。
  • 使用输入矩阵调用 multiply() 方法来计算和显示乘积。

示例

在这里,我们将操作封装到函数中,展示了 面向对象编程 -

Open Compiler
public class MultiplyMatrices { static int matrix_size = 3; static void multiply(int input_matrix_1[][], int input_matrix_2[][]){ int[][] resultant_matrix = new int[matrix_size][matrix_size]; for(int i = 0; i < matrix_size; i++) { for (int j = 0; j < matrix_size; j++) { for (int k = 0; k < matrix_size; k++) { resultant_matrix[i][j] += input_matrix_1[i][k] * input_matrix_2[k][j]; } } } System.out.println("\n The product of two matrices is: "); for(int[] row : resultant_matrix) { for (int column : row) { System.out.print(column + " "); } System.out.println(); } } public static void main(String[] args) { int matrix_size = 3; int[][] input_matrix_1 = { {2, 3, 4}, {5, 2, 3}, {4, 6, 9} }; System.out.println("The first matrix is defined as: "); for (int i = 0; i < matrix_size; i++) { for (int j = 0; j < matrix_size; j++) { System.out.print(input_matrix_1[i][j] + " "); } System.out.println(); } int[][] input_matrix_2 = { {1, 5, 3}, {5, 6, 3}, {8, 1, 5} }; System.out.println("The second matrix is defined as: "); for (int i = 0; i < matrix_size; i++) { for (int j = 0; j < matrix_size; j++) { System.out.print(input_matrix_2[i][j] + " "); } System.out.println(); } multiply(input_matrix_1, input_matrix_2); } }

输出

The first matrix is defined as:
2 3 4
5 2 3
4 6 9
The second matrix is defined as:
1 5 3
5 6 3
8 1 5

The product of two matrices is:
49 32 35
39 40 36
106 65 75

更新于: 2024-11-15

830 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始
广告