首页 > 代码库 > 螺旋输出一组数组数据的实现
螺旋输出一组数组数据的实现
要螺旋输出一组数据,实现的解决方案:采用二维数组的形式来解决
结果如下:
实现如下:
这里我们定义一个类
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(); } } }
螺旋输出一组数组数据的实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。