直接上代码吧。
package chapter2;
import java.util.Scanner;
public class Question2 {
public static void main(String[] args) {
int m, n;
Scanner s = new Scanner(System.in);
System.out.println("请输入矩阵的行数:");
m = s.nextInt();
System.out.println("请输入矩阵的列数:");
n = s.nextInt();
int[][] a = new int[m][n], b = new int[m][n];
int[][] result = new int[m][n];
System.out.println("输入第一个矩阵的数");
scan(a);
System.out.println("输入第二个矩阵的数");
scan(b);
System.out.println("输入想进行的计算方式(+,-,*)");
char computer = s.next().charAt(0); //从键盘输入一个char类型字符的方法
compute(a, b, result, computer);
System.out.println("计算结果是:");
print(result);
}
//计算结果的输出
private static void print(int[][] result) {
for (int i = 0; i < result.length; i++) {
for (int j = 0; j < result[i].length; j++) {
System.out.printf("%d\t", result[i][j]);
}
System.out.println("\n");
}
}
//矩阵的计算
private static void compute(int[][] a, int[][] b, int[][] result, char computer) {
for (int i = 0; i < result.length; i++) {
for (int j = 0; j < result[i].length; j++) {
switch (computer) {
case '+':
result[i][j] = a[i][j] + b[i][j];
break;
case '-':
result[i][j] = a[i][j] - b[i][j];
break;
case '*':
result[i][j] = a[i][j] * b[i][j];
break;
default:
System.out.println("计算方式错误");
break;
}
}
}
}
//给两个矩阵赋初值
private static void scan(int[][] a) {
Scanner s = new Scanner(System.in);
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
a[i][j] = s.nextInt();
}
}
}
}