Java多维数组矩阵乘法代码
时间: 2024-10-24 12:01:45 浏览: 26
在Java中,矩阵乘法通常涉及到两个二维数组(可以视为矩阵),并且它们的列数必须相等才能进行运算。这里是一个简单的例子,展示如何使用嵌套循环实现两个矩阵的乘法:
```java
public class MatrixMultiplication {
public static int[][] matrixMultiply(int[][] firstMatrix, int[][] secondMatrix) {
int rowsFirst = firstMatrix.length;
int colsFirst = firstMatrix[0].length;
int colsSecond = secondMatrix[0].length;
// 检查能否进行矩阵乘法(列数是否相等)
if (colsFirst != secondMatrix.length) {
throw new IllegalArgumentException("The number of columns in the first matrix must be equal to the number of rows in the second matrix.");
}
int resultRows = rowsFirst;
int resultCols = colsSecond;
int[][] result = new int[resultRows][resultCols];
for (int i = 0; i < resultRows; i++) {
for (int j = 0; j < resultCols; j++) {
for (int k = 0; k < colsFirst; k++) { // 计算结果矩阵的每个元素
result[i][j] += firstMatrix[i][k] * secondMatrix[k][j];
}
}
}
return result;
}
// 示例用法
public static void main(String[] args) {
int[][] a = {{1, 2}, {3, 4}};
int[][] b = {{5, 6}, {7, 8}};
int[][] c = matrixMultiply(a, b);
for (int[] row : c) {
System.out.println(Arrays.toString(row));
}
}
}
```
在这个例子中,`matrixMultiply`函数接收两个矩阵,然后通过三层循环计算出新的矩阵,并返回结果。
阅读全文