今天我学习了回形数的编写,下面就说下思路
🌂思路: 首先,毫无疑问定义一个二维数组用于存储整数,根据回形数的特点,保证到下一行的时候,二维数组下标的最大值减1; 其实很简单,直接放代码吧,大家看看,不懂的地方评论区见哦!!!
package de1;
import java.util.Scanner;
public class Test {
public static void main(String[] args) { //回形数的边长 int n; Scanner input = new Scanner(System.in); System.out.print("输入回形数边长:"); n = input.nextInt(); int[][] array = new int[n][n]; //初始化坐标 int x = 0; int y = 0; int number = 0; //横(纵)坐标最大值(数组下标从) int x_Max = n-1; int y_Max = n-1;
//具体实现
while(x<=x_Max) {
for(int i=x;i<=x_Max;i++) {
array[y][i] = ++number;
}
y++;
for(int j=y;j<=y_Max;j++) {
array[j][x_Max] = ++number;
}
x_Max--;
}
//遍历数组
for(int i=0;i<array.length;i++) {
for(int j=0;j<array[i].length;j++) {
System.out.print(array[i][j]+"\t");
}
System.out.println();
}
}
}