📅  最后修改于: 2023-12-03 15:39:41.530000             🧑  作者: Mango
本程序用于打印数字螺旋图案,采用Java语言编写。
程序实现了一个两维数组,在数组中填充从1开始的连续数字。数组中的数字按照螺旋方式排列,即从数组的中心开始,向周围按照顺时针方向填充。程序使用了循环和条件语句,实现了数字填充和打印输出的功能。
public class SpiralPrint {
public static void main(String[] args) {
int n = 5; // 定义数组大小
int[][] arr = new int[n][n]; // 定义二维数组
int num = 1; // 定义填充数字
int startx = 0; // 定义起始行
int endx = n - 1; // 定义结束行
int starty = 0; // 定义起始列
int endy = n - 1; // 定义结束列
while (num <= n * n) {
// 从左往右填充
for (int j = starty; j <= endy; j++) {
arr[startx][j] = num++;
}
// 从上往下填充
for (int i = startx + 1; i <= endx; i++) {
arr[i][endy] = num++;
}
// 从右往左填充
for (int j = endy - 1; j >= starty; j--) {
arr[endx][j] = num++;
}
// 从下往上填充
for (int i = endx - 1; i >= startx + 1; i--) {
arr[i][starty] = num++;
}
startx++;
starty++;
endx--;
endy--;
}
// 打印输出数组
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
System.out.print(arr[i][j] + "\t");
}
System.out.println();
}
}
}
程序运行结果如下,可以看到程序打印出了一个螺旋的数字图案。
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
本程序通过Java语言的循环和条件语句,实现了数字螺旋图案的打印。程序可以通过调整数组大小,生成不同尺寸的螺旋图案。