下面是一个生成螺旋形填充方阵的 Java 代码:

import java.util.Scanner;

public class SpiralMatrix {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个整数 n:");
        int n = scanner.nextInt();
        int[][] matrix = generateSpiralMatrix(n);
        printMatrix(matrix);
        scanner.close();
    }

    public static int[][] generateSpiralMatrix(int n) {
        int[][] matrix = new int[n][n];
        int num = 1;
        int top = 0;
        int bottom = n - 1;
        int left = 0;
        int right = n - 1;

        while (num <= n * n) {
            for (int i = left; i <= right; i++) {
                matrix[top][i] = num++;
            }
            top++;

            for (int i = top; i <= bottom; i++) {
                matrix[i][right] = num++;
            }
            right--;

            for (int i = right; i >= left; i--) {
                matrix[bottom][i] = num++;
            }
            bottom--;

            for (int i = bottom; i >= top; i--) {
                matrix[i][left] = num++;
            }
            left++;
        }

        return matrix;
    }

    public static void printMatrix(int[][] matrix) {
        for (int[] row : matrix) {
            for (int num : row) {
                System.out.printf("%-4d", num);
            }
            System.out.println();
        }
    }
}

运行结果示例: 请输入一个整数 n:4 1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7


原文地址: https://www.cveoy.top/t/topic/pkOW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录