java实现上面矩阵的问题
时间: 2024-10-19 09:00:57 浏览: 4
在Java中,要实现矩阵的操作,比如矩阵相加、相乘或其他数学操作,可以使用二维数组或者ArrayList来存储矩阵元素。这里简单提供一个矩阵相加的例子:
```java
import java.util.ArrayList;
class Matrix {
private ArrayList<ArrayList<Integer>> matrix; // 存储矩阵的二维列表
public Matrix(int[][] arr) {
matrix = new ArrayList<>();
for (int[] row : arr) {
ArrayList<Integer> newRow = new ArrayList<>();
for (int element : row) {
newRow.add(element);
}
matrix.add(newRow);
}
}
public void add(Matrix other) { // 相加函数
int rows = matrix.size();
int cols = matrix.get(0).size();
if (rows != other.matrix.size() || cols != other.matrix.get(0).size()) {
throw new IllegalArgumentException("Matrices must have the same dimensions.");
}
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
matrix.get(i).set(j, matrix.get(i).get(j) + other.matrix.get(i).get(j));
}
}
}
// 获取矩阵元素,方便打印或检查
public String toString() {
StringBuilder sb = new StringBuilder();
for (ArrayList<Integer> row : matrix) {
for (int element : row) {
sb.append(element).append("\t");
}
sb.append("\n");
}
return sb.toString();
}
}
public class Main {
public static void main(String[] args) {
int[][] mat1 = {{1, 2}, {3, 4}};
int[][] mat2 = {{5, 6}, {7, 8}};
Matrix m1 = new Matrix(mat1);
Matrix m2 = new Matrix(mat2);
m1.add(m2); // 相加
System.out.println(m1);
}
}
```
在这个例子中,我们首先定义了一个`Matrix`类,包含一个二维列表来存储矩阵,并实现了矩阵相加的功能。在`main`方法里创建两个矩阵并进行相加,然后输出结果。
阅读全文