public static void spiralMatrix(int n) { int[][] nums = new int[n][n]; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { nums[i][j] = -1; } } int x = 0, y = 0;// 矩阵坐标(x,y) int temp = 1; while (temp <= n * n) { while (y<n&&nums[x][y] == -1) { nums[x][y] = temp++; y++; } y--; x++; while (x<n&&nums[x][y] == -1) { nums[x][y] = temp++; x++; } x--; y--; while (y>=0&&nums[x][y] == -1) { nums[x][y] = temp++; y--; } y++; x--; while (x>=0&&nums[x][y] == -1) { nums[x][y] = temp++; x--; } x++; y++; } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { System.out.print(nums[i][j] + " "); } System.out.println(); } }