码迷,mamicode.com
首页 > 编程语言 > 详细

螺旋输出一组数组数据的实现

时间:2014-10-25 02:06:21      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:二维数组   螺旋数据   

要螺旋输出一组数据,实现的解决方案:采用二维数组的形式来解决

  结果如下:

     

bubuko.com,布布扣

bubuko.com,布布扣

实现如下:

  这里我们定义一个类 

     public class LoopSort{
        public static void main(String[] args){
               //要螺旋输出的数据的个数
            Scanner s=new Scanner(System.in);
            System.out.println("请输入螺旋输出的数据的行和列:");
            int number=s.nextInt();
            int code=s.nextInt();
            s.close();
            //定义一个存放数据的二维数组
            int[][] numbers=new int[number][code];
            //定义最小列
            int minX=0;
            //定义最大列
            int maxX=code-1;
            //定义最小行
            int minY=0;
            //定义最大行
            int maxY=number-1;
            //定义数据自增变量
            int count=0;
           
           while(minX<=maxX){
                  //行不变,为最小行,列从小到大
                for(int i=minX;i<=maxX;i++){
                   numbers[minY][i]=++count;
                }
                //这样第一行就不会在执行,就让最小行加一
                minY++;
                //列不变,为最大列,行从小到大
                for(int i=minY;i<=maxY;i++){
                   numbers[i][maxX]=++count;
                }
                //这之后最右边的列不再执行,就让最大列减一
                maxX--;
                //行不变,为最大行,列从大到小
                for(int i=maxX;i>=minX;i--){
                  numbers[maxY][i]=++count;
                }
                //最底层的行不再执行,就让最大行减一
                maxY--;
                //列不变,为最小列,行从大到小
                for(int i=maxY;i>=minY;i--){
                   numbers[i][minX]=++count;
                }
                //此时最左边的列不再执行,就让最小列加一
                minX++;
           }
           
           // 对二维数组进行遍历,循环输出数组中保存的数据
           for(int[] i:numbers){
              for(int j:i){
                 String val=j<10 ? "0" : "";
                 System.out .print(val+j+" ");
              }
              System.out.println();
           }
        }
     }


螺旋输出一组数组数据的实现

标签:二维数组   螺旋数据   

原文地址:http://5453607.blog.51cto.com/5443607/1567751

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!