矩阵相乘Java代码
时间: 2024-10-10 14:13:44 浏览: 42
Java多线程矩阵相乘的代码
在Java中,矩阵相乘通常涉及到两个二维数组的操作,可以使用嵌套循环来实现。这里是一个简单的示例,展示了如何通过两层循环计算两个方阵的乘积:
```java
public class MatrixMultiplication {
public static int[][] multiply(int[][] matrix1, int[][] matrix2) {
int rows1 = matrix1.length;
int cols1 = matrix1[0].length;
int cols2 = matrix2[0].length;
// 检查矩阵是否可以相乘
if (cols1 != rows2) {
throw new IllegalArgumentException("Matrix dimensions do not allow multiplication");
}
// 创建一个新的矩阵用于存放结果
int[][] result = new int[rows1][cols2];
for (int i = 0; i < rows1; i++) {
for (int j = 0; j < cols2; j++) {
for (int k = 0; k < cols1; k++) { // 第三层循环遍历第一个矩阵的列
result[i][j] += matrix1[i][k] * matrix2[k][j]; // 计算元素值
}
}
}
return result;
}
public static void main(String[] args) {
int[][] matrix1 = {{1, 2}, {3, 4}};
int[][] matrix2 = {{5, 6}, {7, 8}};
try {
int[][] product = multiply(matrix1, matrix2);
for (int[] row : product) {
System.out.println(Arrays.toString(row));
}
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
}
}
```
在这个例子中,`multiply`函数接收两个二维数组作为输入,然后返回它们的乘积。如果你想要测试这个代码,记得检查两个矩阵的维度是否适合相乘。
阅读全文