A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© bahamut322 中级黑马   /  2016-10-16 19:02  /  867 人查看  /  4 人回复  /   2 人收藏 转载请遵从CC协议 禁止商业使用本文

/**
         * *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();
                }
        }

4 个回复

倒序浏览
方阵都来了。。。吓人
回复 使用道具 举报
我去...方阵是什么鬼,一点不懂啊
回复 使用道具 举报
厉害了Word哥
回复 使用道具 举报
方阵给力,为了方阵赞一个
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马