给定一个n×n的方阵,本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。用Java编写
时间: 2024-09-16 13:04:45 浏览: 61
给定一个 n×n 的方阵,要在 Java 中计算除主对角线、第一列和第一行之外所有元素的总和,你可以采用双层循环的方式遍历矩阵,只对符合条件的元素求和。以下是简单的步骤:
```java
public class Main {
public static int sumWithoutDiagonal(int[][] matrix) {
if (matrix == null || matrix.length == 0 || matrix[0].length == 0) {
return 0;
}
int n = matrix.length;
int sum = 0;
// 避免直接访问第一列和第一行
for (int i = 1; i < n - 1; i++) { // 从第二行开始到倒数第二行
for (int j = 1; j < n - 1; j++) { // 从第二列开始到倒数第二列
sum += matrix[i][j]; // 只累加非边界元素
}
}
return sum;
}
public static void main(String[] args) {
int[][] matrixExample = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
System.out.println("矩阵元素的和(除去主对角线、第一列和第一行): " + sumWithoutDiagonal(matrixExample));
}
}
```
在这个程序中,`sumWithoutDiagonal` 函数接收一个二维数组 `matrix`,通过嵌套循环遍历矩阵,跳过主对角线的元素(i==j),以及第一列(j=0)和第一行(i=0)。然后将所有其他元素相加并返回结果。
阅读全文