用Java 编程,求一个3*3矩阵的各对角线元素之和,并输出矩阵的各个元素。 提示:利用双重 for循环控制输入二维数组,再将 a[Q累加后输出。。 请输入九个数字:。135789666+矩阵数据如下:1354 789 6664 第一条对角线之和:15 第二条对角线之和:19
时间: 2024-12-25 22:32:37 浏览: 7
在Java中,你可以通过以下代码计算一个3x3矩阵的对角线元素之和并输出矩阵的每个元素:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int[][] matrix = { {1, 3, 5}, {4, 7, 8}, {6, 6, 4} }; // 输入的矩阵
Scanner scanner = new Scanner(System.in); // 读取键盘输入
// 计算第一条对角线之和
int diagonalSum1 = 0;
for (int i = 0; i < 3; i++) {
diagonalSum1 += matrix[i][i];
}
System.out.println("第一条对角线之和:" + diagonalSum1);
// 计算第二条对角线之和(如果矩阵是方阵,即行数等于列数)
if (matrix.length == matrix[0].length) {
int diagonalSum2 = 0;
for (int i = 0; i < 3; i++) {
diagonalSum2 += matrix[i][3 - i - 1]; // 对角线的索引从左上到右下是倒序的
}
System.out.println("第二条对角线之和:" + diagonalSum2);
} else {
System.out.println("无法计算第二条对角线,因为不是方阵");
}
// 输出矩阵的所有元素
System.out.println("矩阵的各个元素:");
for (int[] row : matrix) {
for (int element : row) {
System.out.print(element + " ");
}
System.out.println(); // 每行结束后换行
}
scanner.close();
}
}
```
在这个例子中,我们首先定义了一个3x3的矩阵,并使用两个嵌套的for循环来遍历矩阵。对于每一对角线,我们分别计算它们的和,并将结果打印出来。
如果矩阵不是正方形(比如行数不等于列数),则我们仅计算了从左上到右下的主对角线,因为其他情况可能会超出矩阵范围。
当运行这个程序时,它会提示用户输入九个数字来填充矩阵,然后输出所求的对角线和矩阵内容。
阅读全文