判断一个矩阵是否满足矩阵中每一行、每一列、每一对角线上的元素之和都是相等的。由用户输入一个任意3*3矩阵,如果满足上述条件,输入“是”,否则输出“否”
时间: 2024-09-28 21:12:07 浏览: 34
要编写一个程序来检查一个3x3矩阵的行、列以及对角线上所有元素之和是否相等,我们可以按照以下步骤进行:
1. 首先,我们需要获取用户的输入,创建一个3x3的二维数组(矩阵)。
2. 然后,计算每行、每列和两条对角线的和。
3. 最后,比较这些和是否都等于同一个值。
下面是Java代码实现:
```java
import java.util.Scanner;
public class MatrixSumChecker {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个3x3矩阵(用逗号分隔每个元素):");
// 获取用户输入并转换为二维数组
int[][] matrix = new int[3][3];
for (int i = 0; i < 3; i++) {
String inputRow = scanner.nextLine();
String[] rowElements = inputRow.split(",");
for (int j = 0; j < 3; j++) {
matrix[i][j] = Integer.parseInt(rowElements[j]);
}
}
// 计算行和列的总和
int sumRow = 0, sumCol = 0;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
sumRow += matrix[i][j];
sumCol += matrix[j][i]; // 对角线元素的索引交换,一个是正对角,另一个是逆对角
}
}
// 检查主对角线和副对角线的和是否相等,然后对比行和列的和
boolean isSymmetric = matrix[0][0] + matrix[1][1] + matrix[2][2] == sumRow &&
matrix[0][2] + matrix[1][1] + matrix[2][0] == sumCol &&
sumRow == sumCol;
if (isSymmetric) {
System.out.println("是");
} else {
System.out.println("否");
}
scanner.close();
}
}
```
阅读全文