栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java回形数的思路与源代码(二维数组的赋值运用)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java回形数的思路与源代码(二维数组的赋值运用)

两种思路方式

方法一:通过坐标的形式来实现二维数组的赋值以及遍历

Scanner input = new Scanner(System.in);
int len = input.nextInt();
//初始化声明二维数组
int[][] arry = new int[len][len];

//通过坐标的方式给数组赋值来实现回形数
int count=0;//初始化声明一个变量,后面用来给二维数组赋值
int maxX=len-1;//最大的x轴坐标
int maxY=len-1;//最大的y轴坐标
int minX=0;//最小的x轴坐标
int minY=0;//最下的y轴坐标

while(minX= minX; x--){
arry[maxY][x]=++count;
}
maxY--;

for(int y = maxY; y >= minY; y--){
arry[y][minX]=++count;
}
minX++;
}

for(int i = 0; i

方法二:

  Scanner input = new Scanner(System.in);
        int len = input.nextInt();
        int[][] arry = new int[len][len];
        int s=len*len;//回形数的长度:len*len
        int k=1;
        int i=0;
        int j=0;

//开始循环
        for(int l=1;l<=s;l++){
            if(k==1){
                if(jarry[i].length
                    i++;
                    l--;
                }
            }else if(k == 2){
                if(i=0 && arry[i][j] == 0){
                    arry[i][j--]=l;
                    int adfd=1;
                } else{
                    k = 4;
                    i--;
                    j++;
                    l--;
                }
            }else if(k == 4) {
                if (i >= 0 && arry[i][j] == 0) {
                    arry[i--][j] = l;
                } else {
                    k = 1;
                    j++;
                    l--;
                    i++;
                }
            }
        }

  // 遍历
        for (int m = 0; m < arry.length; m++) {
            for (int n = 0; n < arry[m].length; n++) {
                System.out.print(arry[m][n] + "t");
            }
            System.out.println();
        }

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/343228.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号