package com.lagou.task09;

import java.sql.SQLOutput;
import java.util.Arrays;
import java.util.Scanner;

/**
 * 1. 编程实现以下需求:
 * 定义一个长度为[16][16]的整型二维数组并输入或指定所有位置的元素值,
 * 分别实现二维数组中所有行和所有列中所有元素的累加和并打印。
 * 再分别实现二维数组中左上角到右下角和右上角到左下角所有元素的累加和并打印。
 *
 * */
public class Test1 {
    /*定义一个长度为[16][16]的整型二维数组*/
    private int[][] Array=new int[16][16];
    /*查看输入指定元素后的二维数据*/
    public void show(){
        for(int i=0;i<Array.length;i++){
            for(int j=0;j<Array[i].length;j++){
                System.out.print(Array[i][j]+" ");
            }
            System.out.println();

        }
    }
    /*给数组赋值*/
    public void setArray(int line,int row,int value){
        Array[line][row]=value;
    }
    /*所有行中所有行元素的累加和并打印*/
    public void alllineSum(){
        for(int i=0;i<Array.length;i++){
            int sum=0;
            for(int j=0;j<Array[i].length;j++){
                sum+=Array[i][j];
            }
            System.out.println("第"+i+"行所有元素的和"+sum);
        }
    }
    /*分别实现二维数组中所有列所有元素的累加和并打印*/
    public void allRowSum(){
        int[] rowSun=new int[16];
        for(int i=0;i<Array.length;i++){
           for(int j=0;j<Array[i].length;j++){
               rowSun[j]+=Array[i][j];
            }
            System.out.println("第"+i+"列所有元素的和"+ rowSun[i]);
        }

    }
    /*二维数组中 右上角到左下角 所有元素的累加和并打印*/
    public void topLeftCornerSum(){
        int sum=0;
        for(int i=0;i<Array.length;i++){
            for(int j=0;j<Array[i].length;j++){
                if(i<=j){
                    sum+=Array[i][j];
                }

            }
        }
        System.out.println("右上角到左下角所有元素的累加和是:"+ sum);
    }
    /*二维数组中左上角到右下角所有元素的累加和并打印*/
    public void topRightCornerSum(){
        int sum=0;
        for(int i=0;i<Array.length;i++){
            for(int j=0;j<Array[i].length;j++){
                if(i>=j){
                    sum+=Array[i][j];
                }
            }
        }
        System.out.println("左上角到右下角所有元素的累加和是:"+ sum);

    }
    /**/
    public static void main(String[] args) {
        Test1 tq=new Test1();
            while(true){
                    Scanner sc=new Scanner(System.in);
                    System.out.println("请输入二维数组行:");
                    int line=sc.nextInt();
                    System.out.println("请输入二维数组列:");
                    int row=sc.nextInt();
                    System.out.println("请输入设置的整数:");
                    int value=sc.nextInt();
                    tq.setArray(line,row,value);
                    tq.show();
                    tq.alllineSum();
                    tq.allRowSum();
                    tq.topLeftCornerSum();
                    tq.topRightCornerSum();
            }


    }
}

运行结果
请输入二维数组行:
0
请输入二维数组列:
1
请输入设置的整数:
2
0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
第0行所有元素的和2
第1行所有元素的和1
第2行所有元素的和0
第3行所有元素的和0
第4行所有元素的和0
第5行所有元素的和0
第6行所有元素的和0
第7行所有元素的和0
第8行所有元素的和0
第9行所有元素的和0
第10行所有元素的和0
第11行所有元素的和0
第12行所有元素的和0
第13行所有元素的和0
第14行所有元素的和0
第15行所有元素的和0
第0列所有元素的和0
第1列所有元素的和3
第2列所有元素的和0
第3列所有元素的和0
第4列所有元素的和0
第5列所有元素的和0
第6列所有元素的和0
第7列所有元素的和0
第8列所有元素的和0
第9列所有元素的和0
第10列所有元素的和0
第11列所有元素的和0
第12列所有元素的和0
第13列所有元素的和0
第14列所有元素的和0
第15列所有元素的和0
右上角到左下角所有元素的累加和是:3
左上角到右下角所有元素的累加和是:1
请输入二维数组行: