用java编写一个矩阵类,其中封装有一个代表矩阵的二维数组,并提供一个实现两个同行列的矩阵的相加方法。利用随机函数产生两个3行4列的矩阵,验证类的矩阵加法功能是否正确实现。
时间: 2024-10-24 18:13:04 浏览: 18
在Java中,我们可以创建一个名为`Matrix`的类来表示矩阵,包含一个二维数组以及用于矩阵加法的方法。以下是一个简单的示例:
```java
import java.util.Random;
public class Matrix {
private int[][] matrix;
// 构造函数
public Matrix(int rows, int cols) {
this.matrix = new int[rows][cols];
initializeRandomMatrix();
}
// 初始化一个随机矩阵
private void initializeRandomMatrix() {
Random random = new Random();
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[i].length; j++) {
matrix[i][j] = random.nextInt(10); // 可自定义生成范围
}
}
}
// 矩阵加法方法
public Matrix add(Matrix other) {
if (this.rows() != other.rows() || this.cols() != other.cols()) {
throw new IllegalArgumentException("Matrices must have the same dimensions.");
}
Matrix result = new Matrix(this.rows(), this.cols());
for (int i = 0; i < this.rows(); i++) {
for (int j = 0; j < this.cols(); j++) {
result.matrix[i][j] = this.matrix[i][j] + other.matrix[i][j];
}
}
return result;
}
// 获取矩阵的行数和列数
private int rows() {
return matrix.length;
}
private int cols() {
return matrix[0].length;
}
// 打印矩阵方法(仅用于测试)
public void printMatrix() {
for (int[] row : matrix) {
for (int element : row) {
System.out.print(element + " ");
}
System.out.println();
}
}
// 测试代码
public static void main(String[] args) {
Matrix matrix1 = new Matrix(3, 4);
Matrix matrix2 = new Matrix(3, 4);
matrix1.printMatrix();
matrix2.printMatrix();
Matrix sum = matrix1.add(matrix2);
System.out.println("\nSum:");
sum.printMatrix();
}
}
```
在这个例子中,我们首先创建了一个`Matrix`类,包含一个初始化方法生成随机矩阵,然后定义了两个矩阵相加的方法。主函数中,我们创建并打印了两个3行4列的矩阵,然后计算它们的和并打印结果。
要验证矩阵加法功能,你可以运行这个程序并观察输出的两个原始矩阵和它们的和是否符合预期。如果结果正确,那么说明矩阵加法功能已经被正确实现。
阅读全文