请用java编写:计算两个同为三阶的矩阵相加、相减、相乘的结果(矩阵中的数随机产生)。
时间: 2024-03-23 16:42:16 浏览: 84
好,以下是Java代码实现:
```java
import java.util.Random;
public class MatrixOperation {
public static void main(String[] args) {
int[][] matrix1 = new int[3][3];
int[][] matrix2 = new int[3][3];
int[][] result;
// 随机生成两个3*3的矩阵
Random random = new Random();
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
matrix1[i][j] = random.nextInt(10);
matrix2[i][j] = random.nextInt(10);
}
}
// 矩阵相加
result = add(matrix1, matrix2);
System.out.println("矩阵相加的结果:");
printMatrix(result);
// 矩阵相减
result = subtract(matrix1, matrix2);
System.out.println("矩阵相减的结果:");
printMatrix(result);
// 矩阵相乘
result = multiply(matrix1, matrix2);
System.out.println("矩阵相乘的结果:");
printMatrix(result);
}
// 矩阵相加
public static int[][] add(int[][] matrix1, int[][] matrix2) {
int[][] result = new int[3][3];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
result[i][j] = matrix1[i][j] + matrix2[i][j];
}
}
return result;
}
// 矩阵相减
public static int[][] subtract(int[][] matrix1, int[][] matrix2) {
int[][] result = new int[3][3];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
result[i][j] = matrix1[i][j] - matrix2[i][j];
}
}
return result;
}
// 矩阵相乘
public static int[][] multiply(int[][] matrix1, int[][] matrix2) {
int[][] result = new int[3][3];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
for (int k = 0; k < 3; k++) {
result[i][j] += matrix1[i][k] * matrix2[k][j];
}
}
}
return result;
}
// 打印矩阵
public static void printMatrix(int[][] matrix) {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
}
}
```
这段代码实现了三个方法,分别对应矩阵的相加、相减和相乘操作,最后通过调用这些方法来实现题目要求的功能。
需要注意的是,矩阵的相加和相减操作就是对应位置的数相加或相减,而矩阵的相乘操作需要用到矩阵乘法的定义,即对于两个矩阵A和B,它们的乘积C的第i行第j列元素为A的第i行元素与B的第j列元素对应相乘之后再求和。
阅读全文