Java 生成螺旋矩阵代码实现
以下是一种生成螺旋矩阵的 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);
System.out.println("生成的螺旋矩阵:");
printMatrix(matrix);
}
public static int[][] generateSpiralMatrix(int n) {
int[][] matrix = new int[n][n];
int num = 1;
int top = 0, bottom = n - 1, left = 0, 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("%3d ", num);
}
System.out.println();
}
}
}
运行结果示例:
请输入整数 n:5
生成的螺旋矩阵:
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
原文地址: https://www.cveoy.top/t/topic/pkOC 著作权归作者所有。请勿转载和采集!