0
点赞
收藏
分享

微信扫一扫

java练习题

Gaaidou 2022-04-05 阅读 76
java

java基础练习,持续添加

1

//        循环结构(上)

//        随机生成一个1-10之间的数字num,循环让用户输入猜这个数,

//        如果用户输入的数字大于num提示输入的数字比较大,

//        如果用户输入的数字小于num提示输入的数字比较小,

//        直到用户输入的数字和num相等为止,然后输出用户猜数的总次数

        Scanner scan= new Scanner(System.in);

        Random ran= new Random();

        //生成游戏答案1~100

        int num = ran.nextInt(10)+1;

        //System.out.println(num);

        int n = 0;//定义n的初值

        int i = 0;//定义猜数次数

        while(n != num) {

            System.out.println("请猜数字");

            n=scan.nextInt();

            if(n > num) {//判断猜数结果

                System.out.println("输入的数字较大");

            }else if(n < num) {

                System.out.println("输入的数字较小");

            }else {

                System.out.println("恭喜您猜对了");

            }

            i++;//猜数次数加1

        }

        System.out.println("总共猜了"+i+"");

         2

//4.2打印出1-100之间所有不是7的倍数和不包含7的数字,并求和

        int sum = 0;

        for (int i = 1; i <= 100; i++) {

           if(i % 7 == 0 || i / 10 == 7 || i % 10 == 7){

               continue;

           }else{

               sum += i;

               System.out.println(i);

           }

        }

        System.out.println(sum);    //3281

         3

//循环结构(下)

        //5.1有一个有钱的神经病,他往银行里存钱,

        //第一天存1,以后每天比前一天多存50%,完成下列计算任务

        //1)他存到第几天,当天存的钱会超过10

        int day = 1;

        Double j;

        for (j = 1.0; j <= 10; j++) {

            j*=1.5;

            day ++;

            System.out.println(j);

        }

        System.out.println(day);

         4

        //一个月(30天)后,他总共存了多少钱

        double sum = 0;

        double money = 1;

        for (int i = 1; i <= 30; i++) {

            sum += money;

            System.out.println("" + i + "" + ",当天存款为:" + money);

            money *= 1.5;

        }

        System.out.println("总计:" + Math.round(sum) );

         5

                   //有一个400米一圈的操场,一个人要跑10000米,

        //第一圈50秒,其后每一圈都比前一圈慢1秒,

        //按照这个规则计算跑完10000米需要多少秒

        int minutes = 50;

        int round = 10000 / 400;

        int sum = 0;

        for (int i = 1; i <= round; i ++ ) {

            sum += minutes;

            System.out.println("" + i + ",所花时间:"+minutes+"");

            minutes ++;

        }

        System.out.println("花的时间:"+sum);

        //25,所花时间:74

        //花的时间:1550

         6

//用户输入任意一个整数,求各位数字之和

        Scanner scan=new Scanner(System.in);

        System.out.println("请输入一个数字");

        int i = scan.nextInt();

        int sum = 0;

        while (i > 0){

            sum += (i%10);

            i /= 10;

            System.out.println(i);

        }

        System.out.println(sum);

        //567

        //56

        //5

        //0

        //18

         7、这道题看起来简单,但却有点意思

//井里有一只蜗牛,他白天往上爬5米,晚上掉3.5米,井深56.7

        //计算蜗牛需要多少天才能从井底到爬出来

        int day = 0;

        double sum = 0.0;

        while (true){

            sum += 5;

            day ++;

            if(sum > 56.7){

                break;

            }

            sum -= 3.5;

        }

        System.out.println(day); //36

        

         8

//循环嵌套,1~1000以内质数列表

        //PS:质数是只能被1和自身整除的整数

        int i,j;

        boolean isFlag = true;

        for (i = 2; i <= 100; i++) {

            for (j = 2; j <= Math.sqrt(i); j++) {   //很严肃的问题!这里j能设置为1吗?为什么?

                if(i % j == 0){

                    isFlag = false;

                    break;

                }

            }

            if(isFlag) {

                System.out.println(i);

            }

            isFlag = true;

        }   //回答上面的问题!!任何数取余1等于多少?

    }

    //方式二    不建议!因为运行时间太长

    @Test

    public void test(){

        for (int i = 2; i <= 100; i++) {

            int j = 2;

            for (; j <= i; j++) {

                if(i % j == 0){

                    break;

                }

            }

            if(i == j){       //避免漏掉2,也隔离掉break后的打印

                System.out.println(i);

            }

        }

    }

         9

//求数组中的最大值和最大值所在的下标

        //int型数组转Integer数组

        int[] nums={6,8,1,9,5,2,7};

        //方式一:

        int  max = 0;

        int index = 0;

        for (int i = 0; i < nums.length; i++) {

            if(max < nums[i]){

                max = nums[i];

                index = i;

            }

        }

        //最大值

        System.out.println(max);    //9

        System.out.println(index);  //3

        //输出int型数组中最大值的下标

        //首先int型数组转Integer数组。boxed()装箱再转Integer数组

        Integer[] integers = Arrays.stream(nums).boxed().toArray(Integer[]::new);

        int maxValIndex = Arrays.asList(integers).indexOf(max);

        System.out.println(maxValIndex);  //3

        //求最大值方式二:

        int maxVal = Arrays.stream(nums).max().getAsInt();

        System.out.println(maxVal); //9

10

//(选做)向一个长度为10的整型数组中随机生成100~9的随机整数,完成下列任务

        //1)统计每个数字出现了多少次

        //2)输出出现次数最多的数字

        //3)输出只出现一次的数字中最小的数字

        Random r = new Random();

        // 1. 声明源数组,包含100-9之间的随机数

        int[] src = new int[10];

        // 2. 声明一个标记数组,存放的是0-910个数字

        int[] flag = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };

        // 3. 声明一个用来统计标记数组中数字在源

        // 数组中的个数

        int[] count = new int[flag.length];

        // 4. 给源数组赋值0-9之间的随机数

        for (int i = 0; i < src.length; i++) {

            src[i] = r.nextInt(10);

        }

        // 5. 统计标记数组中的每个元素在源数组中

        // 有多少个即给count数组赋值

        for (int i = 0; i < flag.length; i++) {

            for (int j = 0; j < src.length; j++) {

                // 如果标记数组中的数字在源数组中有,则count+1

                if (flag[i] == src[j]) {

                    count[i]++;

                }

            }

        }

        // 6. 输出srccount的数据

        System.out.println("随机产生的数据如下:");

        System.out.println(Arrays.toString(src));

        // System.out.println(Arrays.toString(count));

        // a.统计每个数字出现的次数

        // 如果count中的元素的值大于0,则输出其下标和值

        for (int i = 0; i < count.length; i++) {

            if (count[i] > 0) {

                System.out.println("数字" + i + "出现" + count[i] + "");

            }

        }

        // b.输出出现最多次数的数字

        // 假设第一个统计的数字就是最多那个

        int max = count[0];

        int index = 0;

        for (int i = 0; i < count.length; i++) {

            if (count[i] > max) {

                max = count[i];

                index = i;

            }

        }

        System.out.println("出现次数最多的数字是" + index);

        System.out.println("出现次数最多的数字是" + flag[index]);

        // c. 输出只出现一次的数字中最小的数字

        for (int i = 0; i < count.length; i++) {

            if (count[i] == 1) {

                System.out.println("出现1次的数字中最小的是" + i);

                break;

            }

        }

        

         11

//题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,

        //小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,键盘输入月份,问兔子对数为多少?

        //程序分析:这是一个菲波拉契数列问题,兔子的规律为数列1,1,2,3,5,8,13,21

        Scanner scanner = new Scanner(System.in);

        System.out.println("输入整数");

        int month = scanner.nextInt();

        int tot = 0;

        int a = 0;

        int b = 1;

        for(int j = 1; j <= month; j++){

            tot = a+b;

            a = b;

            b = tot;

            System.out.println(""+j+"个月兔子数量为:" + a);

        }

        //输入10

        //8个月兔子数量为:21

        //9个月兔子数量为:34

        //10个月兔子数量为:55

    //方式二:

        System.out.println(fun(month)); //55

    }

    private static int fun(int n) {

        if(n == 1 || n == 2){

            return 1;

        }else{

            return fun(n-1) + fun(n-2);

        }

    }

    //理解:n=1n=2时为1,而n-1(前一位)n-2(前两位)相加等于n, 1 1 2 3 5 8... 3+5=8

         12

                   //将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5

        Scanner scanner = new Scanner(System.in);

        int i = scanner.nextInt();

        int x = i / 2;

        for (int j = 2; j <= x; j++) {

            if(i % j == 0){

                i /= j;

                System.out.println(j);

                j=1;        //注意这里j=1,上去j++后到i % j 的时候j就等于2了,这里也可以写成j--;

            }

        }

         13

//题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

        Scanner scanner = new Scanner(System.in);

        int i = scanner.nextInt();

        String score = i >= 90 ? "A" : (i >= 60 && i <= 89 ? "B" : "C");

        System.out.println(score);

         14

                   //输入两个正整数mn,求其最大公约数和最小公倍数

        //最大公约数:能同时被xy整除的最大数

        Scanner scanner = new Scanner(System.in);

        int x = scanner.nextInt();

        int y = scanner.nextInt();

        int xx = 0;

        System.out.println("min:" + Math.min(x,y));

        System.out.println("x > y?:" + (x > y?x:y));

        for (int i = 2; i < Math.min(x,y); i++) {

            if(x % i == 0 && y % i == 0){

                xx = i;

            }

        }

        System.out.println("最大公约数" + xx);

        //最小公倍数:能同时整除xy最小的数

        for (int i = 2; i < x * y; i++) {

            if(i % x == 0 && i % y == 0){

                System.out.println("最小公倍数" + i);

                break;

            }

        }

        //min:12

        //x > y?:18

        //最大公约数6

        //最小公倍数36

    }

    @Test

    public void test1(){

        //另外还可以得出最大公约数xx后,直接用x*y / xx

        System.out.println(12*18 / 6);  //36

         15

//输入一行字符,分别统计出其英文字母、空格、数字和其它字符的个数

        Scanner scanner = new Scanner(System.in);   //Hello World 123456789 @#$% *

        scanner.useDelimiter("\n"); //没有使用定界符打印 Hello

        String str = scanner.next();

        System.out.println(str);

        char[] chars = str.toCharArray();

        int word = 0;

        String wordStr = "";

        int digit = 0;

        String digitStr = "";

        int space = 0;

        String spaceStr = "";

        int other = 0;

        String otherStr = "";

        for (int i = 0; i < chars.length; i++) {

            int ascii = (int)chars[i];

            if(ascii >= 65 && ascii <= 90 || ascii >= 97 && ascii <= 122){

                word++;

                wordStr += chars[i];

            }else if(ascii >= 48 && ascii <= 57){

                digit++;

                digitStr += chars[i];

            }else if(ascii == 32){

                space++;

            }else{

                other++;

                otherStr += (char)ascii;

            }

        }

        System.out.println("存在字母个数:" + word);

        System.out.println("存在字母如下:" + wordStr);

        System.out.println("存在数字个数:" + digit);

        System.out.println("存在数字如下:" + digitStr);

        System.out.println("存在空格个数:" + space);

        System.out.println("存在其他个数:" + other);

        System.out.println("存在其他如下:" + otherStr);

    }

    //Hello World 123456789 @#$% *

    //存在字母个数:10

    //存在字母如下:HelloWorld

    //存在数字个数:9

    //存在数字如下:123456789

    //存在空格个数:4

    //存在其他个数:5

//存在其他如下:@#$%*

         16

//s=a+aa+aaa+aaaa+aaa的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加)

        //几个数相加有键盘控制。输出结果的形式如:2+22+222=246

        Scanner scanner = new Scanner(System.in);

        System.out.println("输入数字");

        int a = scanner.nextInt();

        System.out.println("输入相加次数");

        int b = scanner.nextInt();

        String numStr = "";

        String result = "";

        BigDecimal bigDecimal = new BigDecimal("0");

        for (int i = 0; i < b; i++) {

            numStr += a;

            if(i == 0){

                result += numStr;           //第一次没有+

            }else{

                result += "+" + numStr;

            }

            bigDecimal = bigDecimal.add(new BigDecimal(numStr));

        }

        result = result + "=";

        System.out.println("结果为:" + result + bigDecimal);

    }

    //输入数字

    //1

    //输入相加次数

    //6

//结果为:1+11+111+1111+11111+111111=123456

//方式二:

int n=0,a=0;

        Scanner scanner=new Scanner(System.in);

        System.out.println("请输入a的值:");

        a=scanner.nextInt();

        System.out.println("请输入n的值:");

        n=scanner.nextInt();

        int[] arr=new int[n];//创建数组长度为输入的项数

        int i=1;//while循环初始化的值

        arr[0]=a;//数组的第一个值为3

        //把每一项的值赋值给数组里面的数

        while (i<n) {

            a*=10;  //第二项和前一项相差a*10

            arr[i]=a+arr[i-1];  //a=3  3  30+3  300+33 3000+333

            i++;

        }

        //求和

        int sum=0;

        for(int s:arr){

            sum+=s;//累加求和

            if (s==arr[n-1]) {

                System.out.print(s);

                break;//最后一次只输出结果

            }

            System.out.print(s+"+");//前面的值输出结果,后面还要加一个加号

        }

        System.out.println("="+sum);//完美结束

         17

//一个数如果恰好等于它的因子之和,这个数就称为”完数”。例如6=123.编程找出1000以内的所有完数。

//        BigDecimal bigDecimal = new BigDecimal("");   报错Index 0 out of bounds for length 0

        //方式一

//        BigDecimal bigDecimal = new BigDecimal("0");    //这样写打印为0

//        for (int i = 2; i < 1000; i++) {

//            for (int j = 1; j <= i/2; j++) {

//                if(i % j == 0){

//                    bigDecimal = bigDecimal.add(new BigDecimal(j));

//                }

//            }

//            if(i == Integer.parseInt(bigDecimal.toString())){

//                System.out.println(i);

//                bigDecimal = new BigDecimal("0");

//            }else {

//                bigDecimal = new BigDecimal("0");

//            }

//        }

        //方式二

        for (int i = 2; i < 1000; i++) {

            int sum = 0;

            for (int j = 1; j <= i/2; j++) {

                if(i % j == 0){

                    sum += j;

                }

            }

            if(i == sum){

                System.out.println(i);

            }

        }

        //6

        //28

        //496

         18

//一球从100米高度自由落下,每次落地后反跳回原高度的一半;n次落地经过路线总长度和下次反弹的高度

        //思路:落下100米,下次弹起50;第二次落下50,(弹起==落下)输入2,总长度200,下次弹起25

        //方式一:

        Scanner scanner = new Scanner(System.in);

        System.out.println("输入落地的次数");

        int i = scanner.nextInt();

        double height = 0;

        int count = 0;

        for (double j = 100; j >= 0 ; j/=2) {

            if(count == i){

                System.out.println(i + "次落地经过路线总长度:" + height);

                System.out.println("下次反弹的高度为:" + j);

                break;

            }

            count++;

            if(count == 1){

                height += j; //第一次下落100

            }else{

                height += j*2;   //后面弹起落下都相等

            }

        }

        //方式二:

        Scanner scanner = new Scanner(System.in);

        System.out.println("请选择第几次落地:");

        int n = scanner.nextInt();

        double height = 100;

        double sumLength = 0;

        for(int i=1; i<=n; i++){

            if(i==1){

                sumLength = sumLength + height; //第一次落下

            }else{

                sumLength = sumLength + height*2;   //后面每次弹起落下

            }

            height = height/2;  //高度每次减半

        }

        System.out.println("总运动距离为:"+sumLength);

        System.out.println("反弹高度为:"+height);

    }

    //3

    //总运动距离为:250.0

//反弹高度为:12.5

                  

                   19

//题目:输入某年某月某日,判断这一天是这一年的第几天?

        System.out.println("请输入年月日(用空格隔开):");

        Scanner scanner=new Scanner(System.in);

        int year=scanner.nextInt();//获取年份

        int month=scanner.nextInt();//获取月份

        int day=scanner.nextInt();//获取天数

        int sum=0;//天数总和

        //创建一个包含月份天数的数组,先按小年计算,如果是闰年,并且在三月以后再加1

        int[] arr={day,31,28,31,30,31,30,31,31,30,31,30};

        for (int i = 0; i < month; i++) {  //加上包含的月份天数

            sum+=arr[i];

        }

        //最后判断是否是闰年,如果是的话再加1,否则sum就是结果了,条件比较长,我就抽出来写了

        boolean isRight=(((year%4==0)&&(year%100!=0))||(year%400==0))&&(month>2);

        if (isRight) {

            sum+=1;

        }

        System.out.println(year+""+month+""+day+"日,是这年的第"+sum+"");

    }

    //请输入年月日(用空格隔开):

    //2020 3 5

    //202035日,是这年的第65

         20

//题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。

//以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

        //程序分析:采取逆向思维的方法,从后往前推断。

        //10 9 8 7 6 5 4 3 2 1

        //1((n+1)*2) 4 10 22 46     也可以n*2+2

        int last = 1;

        for (int i = 1; i <= 10; i++) {

            if(i == 1){

                System.out.println("" + (11-i) + "天的桃子数量:" + last );

            }else{

//                last = (last+1)*2;

                last = last*2+2;    //也可以

                System.out.println("" + (11-i) + "天的桃子数量:" + last );

            }

        }

        //10天的桃子数量:1 ...4  10 22 46 94 190

        //2天的桃子数量:766

        //1天的桃子数量:1534

         21

//题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。

        //已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,

        //请编程序找出三队赛手的名单。

        char a,b,c;

        for(a = 'x'; a <= 'z'; a++){

            for (b = 'x'; b <= 'z'; b++){

                for (c = 'x'; c <= 'z'; c++){

                    if(a != b && a != c && b != c){ //对手避免重复

                        if(a != 'x' && c != 'x' && c != 'z'){   //不和x,z

                            System.out.println("a=" + a + ",b=" + b + ",c=" + c);

                        }

                    }

                }

            }

        }//a=z,b=x,c=y

         //方式二:

String a,b,c = null;//甲队成员

        String[] racer = {"x","y","z"};//乙队成员

        for(int i = 0; i < 3; i++){

            for (int j = 0; j <3;j++) {

                for (int k = 0; k < 3;k++) {

                    if (i != j && i != k && j != k) {

                        a = racer[i];

                        b = racer[j];

                        c = racer[k];

                        if (!a.equals("x") && !c.equals("z") && !c.equals("x")) {

                            System.out.println("a="+racer[i]+"b="+racer[j] +"c="+racer[k] );

                        }

                    }

                }

            }

        }

         22

//  *

        // * *

        //* * *

        // * *

        //  *

        //依照此图,输入数字3,行中"*"最大为3,输入4则最大为4

        int a = 3;

        for (int i = a; i > 0; i--) {   //注意这里,第一次循环直接空一行

            for (int j = 0; j < i; j++) {

                System.out.print(" ");

            }

            for (int j = 0; j < a-i; j++) { //这里第一次循环并没有进入

                System.out.print("* ");

            }

            System.out.println("");

        }

        for (int i = 0; i < a ; i++) {

            for (int j = 0; j < i; j++) {   //这里第一次循环并没有进入

                System.out.print(" ");

            }

            for (int j = 0; j < a-i; j++) { //第一次循环直接进入这里打印a*

                System.out.print("* ");

            }

            System.out.println("");

        }

        

         23

//题目:有一分数序列:2/13/25/38/513/821/13…求出这个数列的前20项之和。

        //方式一:

        //找规律2/1(a/b) 3/2(a+b/b)

        double a = 2.0, b = 1.0, c = 0;

        double sum = a / b;   //第一次

        for (int i = 1; i < 20; i++) {  //循环19

            c = a + b;

            b = a;

            a = c;

            System.out.println("a=" + a + ", b=" + b);

            sum += a / b;

        }

        System.out.println(sum);

        //a=17711.0, b=10946.0

        //32.66026079864164

       

        //方式二:

        //找规律:2/13/25/38/5(8/5 8=3+5, 5=2+3)

        //a = m-1 + m-2, b = m-2 + m-3

        double sum = fun(20);

        System.out.println(sum);    //32.66026079864164

    }

    private static double fun(int i) {

        if(i==1){

            return 2.0/1.0;

        }else {

            double a = molecule(i);

            double b = molecule(i-1);

            return fun(i-1) + a/b;

        }

    }

    private static double molecule(int i) {

        if(i==1){

            return 2.0;

        }else if(i==2){

            return 3.0;

        }

        return molecule(i-1) + molecule(i-2);

}

         24

//题目:求0!+1!+2!+3!++20!的和。

        //阶乘 0=1, 1=1, 2=1*2=2, 3=1*2*3=6,4=1*2*3*4=24

        long sum = 1;    //初始0=1,这里使用int无法满足268040730

        for (int i = 1; i <= 20; i++) {

            sum += factorial(i);

        }

        System.out.println(sum);    //2561327494111820314

    }

    private static long factorial(int i) {

        long multiply = 1;

        for (int j = 1; j <= i; j++) {

            multiply *= j;

        }

        return multiply;

    }

        //递归

        if(i==1){

            return 1;

        }else {

            return factorial(i-1) * i;   //递归:i如果=5, (i-1)=4  *  5...; 终止条件当i==1则返回1  *2*3*4*5

        }

}

         25

//题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。

        // 问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。

        // 问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

        System.out.println(fun(5)); //18

    }

    private static int fun(int i) {

        if(i == 1){ //设置终止条件为第1个人10

            return 10;

        }else{

            return fun(i-1) + 2;    //每个人加2

        }

}

26

//题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

        Scanner scanner = new Scanner(System.in);

        System.out.println("输入正整数");

        int i = scanner.nextInt();

        //方式一:

        String s = String.valueOf(i);

        int length = s.length();

        System.out.println(length); //长度

        char[] chars = s.toCharArray();

        for (int j = length-1; j >= 0; j--) {

            System.out.print(chars[j]);

        }

        //方式二:

        int[] arr = new int[5];

        int n = 0;

        do {

            arr[n] = i%10;  //直接从后取值

            i /= 10;

            n++;

        }while (i != 0);

        System.out.println("位数:" + n);

        Arrays.stream(arr).forEach(System.out::print);

    }

    //45678

    //位数:5

    //87654

27

//10个数进行排序

        Scanner scanner = new Scanner(System.in);

        System.out.println("输入10个数,空格隔开");

        int[] arr = new int[10];

        for (int j = 0; j < arr.length; j++) {

            arr[j] = scanner.nextInt();

        }

        int max = 0;

        for (int i = 0; i < arr.length-1; i++) {

            for (int j = i+1; j < arr.length; j++) {

                if(arr[i] > arr[j]){

                    max = arr[i];

                    arr[i] = arr[j];

                    arr[j] = max;

                }

            }

        }

        System.out.println(Arrays.toString(arr));

        //9 6 3 8 4 1 2 5 7 0

        //[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

28

//题目:随机输入9个数,按照3*3矩阵排列,求正向及反向对角线元素之和

        Random random = new Random();

        int a = 0;

        int b = 0;

        int[][] arr = new int[3][3];

        for (int i = 0; i < 3; i++) {

            for (int j = 0; j < 3; j++) {

                arr[i][j] = random.nextInt(20)+1;

                System.out.print(arr[i][j] + " ");

                if(i == j){

                    a += arr[i][j];

                }if(i+j == arr.length-1){   //经典之处 i+j = 2

                    b += arr[i][j];

                }

            }

            System.out.println();

        }

        System.out.println("正向对角线:" + a);

        System.out.println("反向对角线:" + b);

    }

    //12 1 9

    //8 10 20

    //15 20 2

    //正向对角线:24

    //反向对角线:34

举报

相关推荐

0 条评论