java定义一个二维数组,从键盘输入两个矩阵,求两个矩阵的加法、减法、乘积,并输出到屏幕
时间: 2024-10-11 20:16:29 浏览: 11
在 Java 中,你可以通过Scanner类从用户那里获取输入,然后创建二维数组来存储矩阵。下面是一个简单的步骤说明如何实现矩阵的加法、减法和乘法:
1. 定义二维数组:
```java
int rows, cols;
System.out.print("Enter the number of rows and columns for each matrix: ");
rows = scanner.nextInt();
cols = scanner.nextInt();
int[][] matrix1 = new int[rows][cols];
int[][] matrix2 = new int[rows][cols];
// 获取用户输入并填充矩阵
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
System.out.print("Enter element " + (i+1) + "," + (j+1) + ": ");
matrix1[i][j] = scanner.nextInt();
matrix2[i][j] = scanner.nextInt(); // 如果要做减法,这里可以直接读取
}
}
```
2. 矩阵运算实现:
- 加法:
```java
int[][] resultAdd = new int[rows][cols];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
resultAdd[i][j] = matrix1[i][j] + matrix2[i][j];
}
}
// 输出结果
printMatrix(resultAdd);
```
- 减法同理,只需将 `+` 替换为 `-`:
```java
int[][] resultSubtract = new int[rows][cols];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
resultSubtract[i][j] = matrix1[i][j] - matrix2[i][j];
}
}
// 输出结果
printMatrix(resultSubtract);
```
- 乘法比较复杂,因为不是元素对齐相加,需要使用嵌套循环遍历:
```java
int[][] resultMultiply = new int[rows][cols];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
int sum = 0;
for (int k = 0; k < cols; k++) {
sum += matrix1[i][k] * matrix2[k][j]; // 注意索引调整,这里是按行优先
}
resultMultiply[i][j] = sum;
}
}
// 输出结果
printMatrix(resultMultiply);
```
3. 打印矩阵函数:
```java
public static void printMatrix(int[][] matrix) {
for (int[] row : matrix) {
for (int elem : row) {
System.out.print(elem + "\t");
}
System.out.println();
}
}
```
记得在程序结束前关闭Scanner,例如 `scanner.close()`。