用java写一个对于多个N阶矩阵,依次进行加、减运算的程序。从标准输入读取输入。第一行只有一个整数N(1≤N≤10),代表矩阵的阶数。 接下来是一个矩阵,是N行,每行有N个整数(可能是正、负整数),是矩阵的所有元素。 然后一行只含一个字符"+"或"-",代表加、减操作。 然后用同样的方式输入另一个矩阵。 后续仍然是运算符和矩阵。直至运算符为"#"时停止计算,将结果输出。
时间: 2023-05-19 21:06:25 浏览: 48
",程序结束。
程序的实现思路如下:
1. 定义一个Matrix类,包含一个二维数组作为矩阵元素,以及矩阵的阶数N。
2. 定义一个MatrixCalculator类,包含一个静态方法addOrSubtract,用于进行矩阵加减运算。
3. 在addOrSubtract方法中,根据输入的运算符,依次对两个矩阵的每个元素进行加减运算,得到一个新的矩阵。
4. 在主函数中,读取输入的矩阵和运算符,调用addOrSubtract方法进行运算,输出结果。
代码如下:
```
import java.util.Scanner;
class Matrix {
private int[][] elements;
private int N;
public Matrix(int N) {
this.N = N;
elements = new int[N][N];
}
public void readFromInput(Scanner scanner) {
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
elements[i][j] = scanner.nextInt();
}
}
}
public void print() {
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
System.out.print(elements[i][j] + " ");
}
System.out.println();
}
}
public int getN() {
return N;
}
public int getElement(int i, int j) {
return elements[i][j];
}
public void setElement(int i, int j, int value) {
elements[i][j] = value;
}
}
class MatrixCalculator {
public static Matrix addOrSubtract(Matrix A, Matrix B, char operator) {
int N = A.getN();
Matrix C = new Matrix(N);
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
int value;
if (operator == '+') {
value = A.getElement(i, j) + B.getElement(i, j);
} else {
value = A.getElement(i, j) - B.getElement(i, j);
}
C.setElement(i, j, value);
}
}
return C;
}
}
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int N = scanner.nextInt();
Matrix A = new Matrix(N);
A.readFromInput(scanner);
char operator = scanner.next().charAt(0);
while (operator != '*') {
Matrix B = new Matrix(N);
B.readFromInput(scanner);
A = MatrixCalculator.addOrSubtract(A, B, operator);
operator = scanner.next().charAt(0);
}
A.print();
}
}
```
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![text/x-java](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)