📜  Java程序查找两条对角线之和之间的差异(1)

📅  最后修改于: 2023-12-03 15:16:37.963000             🧑  作者: Mango

Java程序查找两条对角线之和之间的差异

在计算矩阵(n*n的矩阵)两条对角线元素之和时,可能要比较这两条对角线之间的差异。这篇文章介绍了一个简单的Java程序,用于计算这两条对角线的元素之和并返回它们之间的差异。

程序实现

程序主要分为两个步骤:计算两条对角线之和和计算它们之间的差异。下面是程序的完整代码:

public class DiagonalDifference {
    
    static int diagonalDifference(int[][] arr) {
        int leftDiagonalSum = 0, rightDiagonalSum = 0;
        
        for(int i=0; i<arr.length; i++){
            for(int j=0; j<arr[0].length; j++){
                if(i==j){
                    leftDiagonalSum += arr[i][j];
                }
                if(i+j==arr.length-1){
                    rightDiagonalSum += arr[i][j];
                }
            }
        }
        
        return Math.abs(leftDiagonalSum - rightDiagonalSum);
    }

    public static void main(String[] args) {
        int arr[][] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
        System.out.println(diagonalDifference(arr));
    }
}

程序定义了一个 diagonalDifference 函数,它有一个参数二维数组 arr,用于存储矩阵中的元素。在函数中,首先定义了两个变量 leftDiagonalSumrightDiagonalSum,分别用于存储左对角线和右对角线的元素之和。随后,使用两个 for 循环依次遍历数组中的元素,以便可以找到左对角线和右对角线的元素。如果一个元素在左对角线上,则其 ij 坐标相等。如果一个元素位于右对角线上,则它的 ij 坐标之和等于数组长度减1。通过上述方式,我们可以找到这两条对角线的元素之和。然后计算它们之间的差异并返回其绝对值(为了确保总是返回正数)。

main 函数中,我们定义了一个简单的二维数组并调用 diagonalDifference 函数。程序会输出这两条对角线之间的差异。

总结

这篇文章介绍了一个简单的Java程序,用于计算矩阵的两条对角线元素之和,并返回它们之间的差异。程序使用两个for循环查找数组中的元素并计算两条对角线之和,最后返回两条对角线之间的差异。此程序可以用于计算任意大小的矩阵的对角线元素之和之间的差异。