java编写一个矩阵类,其中封装一个代表矩阵的二维数组,并提供一个实现两个同行列的矩阵的相加方法。利用随机函数随机产生两个3行4列矩阵,验证类设计。
时间: 2024-10-23 08:16:11 浏览: 18
在Java中,我们可以创建一个名为Matrix的类来表示二维数组并实现矩阵相加的功能。首先,我们需要定义一个内部类来表示矩阵的元素,然后提供必要的构造方法、获取和设置元素的方法,以及相加的方法。下面是一个简单的实现:
```java
import java.util.Random;
public class Matrix {
private int[][] elements;
// 矩阵大小
private final int rows;
private final int cols;
// 构造函数,接受行数和列数作为参数
public Matrix(int rows, int cols) {
this.rows = rows;
this.cols = cols;
elements = new int[rows][cols];
}
// 随机生成矩阵元素
private void fillRandomElements() {
Random random = new Random();
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
elements[i][j] = random.nextInt(100); // 例如,范围在0到99之间
}
}
}
// 添加两个矩阵
public Matrix add(Matrix other) {
if (rows != other.rows || cols != other.cols) {
throw new IllegalArgumentException("Matrices must have the same dimensions");
}
Matrix result = new Matrix(rows, cols);
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
result.elements[i][j] = elements[i][j] + other.elements[i][j];
}
}
return result;
}
// 提供访问和修改元素的方法
public int get(int row, int col) {
return elements[row][col];
}
public void set(int row, int col, int value) {
elements[row][col] = value;
}
// 示例:生成两个3x4的随机矩阵并验证相加操作
public static void main(String[] args) {
Matrix matrix1 = new Matrix(3, 4);
matrix1.fillRandomElements();
Matrix matrix2 = new Matrix(3, 4);
matrix2.fillRandomElements();
Matrix sum = matrix1.add(matrix2);
System.out.println("Matrix 1:");
printMatrix(matrix1);
System.out.println("Matrix 2:");
printMatrix(matrix2);
System.out.println("Sum of matrices:");
printMatrix(sum);
阅读全文