用java写一个矩阵相乘
时间: 2024-04-30 19:23:03 浏览: 150
下面是一个简单的Java程序,用于计算两个矩阵的乘积:
```java
public class MatrixMultiplication {
public static void main(String[] args) {
int[][] a = { {1, 2, 3}, {4, 5, 6} };
int[][] b = { {7, 8}, {9, 10}, {11, 12} };
int[][] c = multiply(a, b);
printMatrix(c);
}
public static int[][] multiply(int[][] a, int[][] b) {
int m = a.length;
int n = b[0].length;
int[][] c = new int[m][n];
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
int sum = 0;
for (int k = 0; k < b.length; k++) {
sum += a[i][k] * b[k][j];
}
c[i][j] = sum;
}
}
return c;
}
public static void printMatrix(int[][] matrix) {
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[0].length; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
}
}
```
该程序首先定义了两个矩阵a和b,然后调用multiply()方法计算它们的乘积,并将结果存储在矩阵c中。最后,程序调用printMatrix()方法打印出矩阵c。
在multiply()方法中,我们首先确定了结果矩阵c的大小,然后使用三重嵌套循环计算每个元素的值。对于每个元素c[i][j],我们计算矩阵a的第i行与矩阵b的第j列之间的乘积,并将结果累加到sum变量中。最后,我们将sum的值赋给c[i][j]。
在printMatrix()方法中,我们使用两重循环遍历矩阵并打印每个元素的值。
阅读全文