黑马程序员技术交流社区

标题: 分享一道点招题 [打印本页]

作者: bahamut322    时间: 2016-10-16 19:02
标题: 分享一道点招题
/**
         * *Test9--写一方法,打印等长的二维数组,要求从1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列。 如: n = 4 则打印:
         */
        public static void main(String[] args) {
                print(4);
        }
       
        public static void print(int a){
                int[][] arr = new int[a][a];
                int count = 1;
                int max = arr.length - 1;
                int min = 0;
                int x = 0;
                int y = 0;
                while(max > min){
                        while (y < max){
                                arr[x][y++] = count++;
                        }
                        while(x < max){
                                arr[x++][y] = count++;
                        }
                        while(y > min){
                                arr[x][y--] = count++;
                        }
                        while(x > min){
                                arr[x--][y] = count++;
                        }
                        if(max == min){
                                arr[x][y] = count;
                        }
                        x++;
                        y++;
                        max--;
                        min++;
                }
                for (int i = 0; i < arr.length; i++) {
                        for (int j = 0; j < arr.length; j++) {
                                System.out.print(arr[i][j] + "\t");
                        }
                        System.out.println();
                }
        }
作者: IceLoveInFire丶    时间: 2016-10-16 20:37
方阵都来了。。。吓人
作者: StriverHao    时间: 2016-10-16 20:59
我去...方阵是什么鬼,一点不懂啊
作者: 张弗睿    时间: 2016-10-16 21:43
厉害了Word哥
作者: wangkai426    时间: 2016-10-16 21:58
方阵给力,为了方阵赞一个




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2