📜  打印数字螺旋图案的Java程序(1)

📅  最后修改于: 2023-12-03 15:39:41.530000             🧑  作者: Mango

打印数字螺旋图案的Java程序

本程序用于打印数字螺旋图案,采用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语言的循环和条件语句,实现了数字螺旋图案的打印。程序可以通过调整数组大小,生成不同尺寸的螺旋图案。