java螺旋矩阵代码
时间: 2024-09-24 10:17:52 浏览: 24
在 Java 中,生成螺旋矩阵通常是指将数字按照一种螺旋上升的形式填充在一个矩阵中。以下是一个简单的示例,使用嵌套循环来实现这个功能:
```java
public class SpiralMatrix {
public static int[][] spiralOrder(int matrixLength) {
if (matrixLength <= 0) return new int[0][0]; // 如果矩阵大小为0,返回空矩阵
int[][] result = new int[matrixLength][matrixLength];
int startRow = 0, endRow = matrixLength - 1;
int startCol = 0, endCol = matrixLength - 1;
int num = 1; // 当前要填入的数字
while (startRow <= endRow && startCol <= endCol) {
// 从左上角开始向右走
for (int col = startCol; col < endCol + 1; col++) {
result[startRow][col] = num++;
}
startRow++;
// 然后向下走
for (int row = startRow; row < endRow + 1; row++) {
result[row][endCol] = num++;
}
endCol--;
// 接着向左走
if (startRow <= endRow) {
for (int col = endCol; col >= startCol; col--) {
result[endRow][col] = num++;
}
endRow--;
}
// 最后向上走
if (startCol <= endCol) {
for (int row = endRow; row >= startRow; row--) {
result[row][startCol] = num++;
}
startCol++;
}
}
return result;
}
public static void main(String[] args) {
int size = 4;
int[][] spiral = spiralOrder(size);
for (int[] row : spiral) {
for (int num : row) {
System.out.print(num + " ");
}
System.out.println();
}
}
}
```
当你运行 `spiralOrder` 函数并传入矩阵大小,它会打印出相应的螺旋矩阵。