java程序设计(加油)

编写程序,输入任意数字N,在屏幕输出N*N矩阵,并输出矩阵每列(column)元素的和,每行(row)元素的和,两条对角线元素的和。java

public class Test {
    private void print(int num) {
        int[][] val = new int[num][num];
        Random random = new Random();
        for (int i = 0; i < num; i++) {
            for (int j = 0; j < num; j++) {
                val[i][j] = random.nextInt(100);
                System.out.print(val[i][j] + "\t");
            }
            System.out.println();
        }
        for (int i = 0; i < num; i++) {
            int sumT = 0;
            for (int v : val[i]) {
                sumT += v;
            }
            System.out.print("第" + (i + 1) + "行和为:" + sumT);
            sumT = 0;
            for (int j = 0; j < num; j++) {
                sumT += val[j][i];
            }
            System.out.println("\t\t第" + (i + 1) + "列和为:" + sumT);
        }
        int sumLR = 0, sumRL = 0;
        for (int i = 0; i < num; i++) {
            sumLR += val[i][i];
            sumRL += val[i][num - 1 - i];
        }
        System.out.println("左上 - 右下 对角线和为:" + sumLR);
        System.out.println("右上 - 左下 对角线和为:" + sumRL);
    }

    public static void main(String[] args) {
        Test solution = new Test();
        solution.print(10);
    }
}

输出示例

img

问题没阐述清除,矩阵里面取值是column和row的拼接值?

有啥不懂的?双层循环遍历求和就行了。