今天我学习了回形数的编写,下面就说下思路
🌂思路:
首先,毫无疑问定义一个二维数组用于存储整数,根据回形数的特点,保证到下一行的时候,二维数组下标的最大值减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();
}
}
}