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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

package com.test;

public class Test4 {

        /**
         * 写一方法,打印等长的二维数组,要求从1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列。 如: n = 4 则打印:

         * @param args
         */
        public static void main(String[] args) {
                        shuZu(12);
        }
        public static void shuZu(int n){
               
                int [][]arr=new int [n][n];
                int hang=0;
                int lie=0;
                int num=1;
                int l=0;
                while(n>l){
                for (int i = 0; i < n-l; i++) {
                        arr[hang][lie++]=num++;
                }
                hang++;
                lie--;
                l++;
                for (int i = 0; i <n-l; i++) {
                        arr[hang++][lie]=num++;
                }
                hang--;
                lie--;
                for (int i = 0; i < n-l; i++) {
                       
                        arr[hang][lie--]=num++;
                }
                hang--;
                lie++;
                l++;
                for (int i = 0; i <n-l; i++) {
                        arr[hang--][lie]=num++;
                }
                hang++;
                lie++;
        }

                print(arr);
        }
        public static void print(int[][] arr) {
                for(int i=0;i<arr.length;i++){
                        for(int j=0;j<arr.length;j++){
                                System.out.print(arr[i][j]<10?arr[i][j]+"\t":arr[i][j]+"\t");
                        }
                        System.out.println();
                }
                }
        }

5 个回复

倒序浏览
厉害啊哥们牛!!!!!!!!!!!!!!
回复 使用道具 举报
反正我是不会写,而且我也不怎么看得懂,这种题目我是放弃的
回复 使用道具 举报
huhemingtiancai 发表于 2016-5-18 23:40
反正我是不会写,而且我也不怎么看得懂,这种题目我是放弃的

主要是怕面试考啊··
回复 使用道具 举报
高大上………………
回复 使用道具 举报
太厉害了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马