For循环在java中不起作用的条件

我正在尝试计算矩阵对角线的总和。但它排除了一个元素。我使用 if-else 解决了我的问题,但我不明白为什么 for 循环不起作用。请帮忙!

public class sumDia {
    public static void main(String[] args){
        int[][] A = {{1,2,3},{4,5,6},{6,7,8}};

        int i,j;
        int sum = 0;
        for(i = 0,j = 0; i == j && j < A.length; i++,j++) sum += A[i][j];

        // for(i = 0,j = A.length - 1; i != j && i < A.length && j >= 0; i++,j--) sum += A[i][j];
        // ( i != j ) Not Working... I don't know why

        for(i = 0,j = A.length - 1; i < A.length && j >= 0; i++,j--){
            if(i != j){
                sum += A[i][j];
            }
        }

        System.out.println("Sum of Diagonals is : " + sum);
    }
}

对角线:[0][0],[1][1],[2][2] and [0][2],[2][0]。 在第二条对角线中,[1][1] 是重复的,这就是我使用 (i != j)

删除它的原因

注意:注释 for 循环中的问题

taitan_winter 回答:For循环在java中不起作用的条件

i != j 为什么这是 for 循环条件?
对角线元素索引为 [0][0],[1][1],[2][2][0][2],[2][0]
第二对角线有 [1][1] 其中 i==j,所以条件 i != j 在第二次迭代中将为假并退出 for 循环,忽略第二和第三个元素。

本文链接:https://www.f2er.com/7563.html

大家都在问