Java基础——二维数组打印回型数

问题:打印回型数组
知识点:二维数组
思路:回型数组可以拆开为上下左右四条边,每一条边都是线性的排序,第二轮的每一条边都比第一轮的每一条边短一位数。代码如下:

        int n=6;
        int[][] arr = new int[n][n];
        int minX=0,minY=0,maxX=n-1,maxY=n-1;
        int count=0;
        while (minX<=maxX){
            for (int x = minX; x <=maxX ; x++) {
                arr[minY][x]=++count;
            }
            minY++;
            for (int y = minY; y <=maxY ; y++) {
                arr[y][maxX]=++count;
            }
            maxX--;
            for (int x = maxX; x >=minX ; x--) {
                arr[maxY][x]=++count;
            }
            maxY--;
            for (int y = maxY; y >=minY ; y--) {
                arr[y][minX]=++count;
            }
            minX++;
        }
        for (int i = 0; i <arr.length ; i++) {
            for (int j = 0; j <arr[i].length ; j++) {
                System.out.print(arr[i][j]+"\t");
            }
            System.out.println();
        }

输出结果如下:
1 2 3 4 5 6
20 21 22 23 24 7
19 32 33 34 25 8
18 31 36 35 26 9
17 30 29 28 27 10
16 15 14 13 12 11

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值