java实现普通矩阵A和B的乘积(附完整源码)
时间: 2023-11-29 17:07:14 浏览: 45
下面是Java实现普通矩阵A和B的乘积的完整源码:
```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 rowsA = A.length;
int colsA = A[0].length;
int rowsB = B.length;
int colsB = B[0].length;
if (colsA != rowsB) {
System.out.println("Error: Invalid matrix dimensions.");
return;
}
int[][] C = new int[rowsA][colsB];
for (int i = 0; i < rowsA; i++) {
for (int j = 0; j < colsB; j++) {
for (int k = 0; k < colsA; k++) {
C[i][j] += A[i][k] * B[k][j];
}
}
}
System.out.println("Matrix A:");
printMatrix(A);
System.out.println("Matrix B:");
printMatrix(B);
System.out.println("Matrix C (A * B):");
printMatrix(C);
}
public static void printMatrix(int[][] matrix) {
for (int[] row : matrix) {
for (int elem : row) {
System.out.print(elem + " ");
}
System.out.println();
}
}
}
```
该程序首先定义了两个普通矩阵A和B,然后计算了它们的行数和列数。接着,它检查A和B的列数是否相等,如果不相等,则输出错误信息并退出程序。如果列数相等,则创建一个新的矩阵C来存储乘积结果。然后,通过三重嵌套的for循环,计算出C的每个元素,即A的一行乘以B的一列。最后,程序打印出矩阵A、B和C。
该程序的输出如下所示:
```
Matrix A:
1 2 3
4 5 6
Matrix B:
7 8
9 10
11 12
Matrix C (A * B):
58 64
139 154
```
阅读全文