输出螺旋方阵,采用二维数组存储。螺旋方阵将从1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列 Java
时间: 2024-09-13 22:05:51 浏览: 19
输出螺旋方阵,也称为"马丁尼螺旋"或"钟形螺旋",是一种特殊的数字矩阵填充方式,从中心向外,然后顺时针或逆时针沿着螺旋路径递增。在Java中,可以使用嵌套循环结合变量更新来生成这种结构。下面是一个简单的示例代码:
```java
public class SpiralMatrix {
public static void printSpiral(int n) {
int[][] matrix = new int[n][n];
int num = 1, rowStart = 0, colStart = 0, rowCount = 0, colCount = 0;
while (rowCount < n && colCount < n) {
// 填充第一行
for (int i = colStart; i < colStart + n - rowCount; ++i) {
matrix[rowStart][i] = num++;
}
rowStart++;
// 填充最后一列
for (int i = rowStart; i < rowStart + n - rowCount; ++i) {
matrix[i][colEnd] = num++;
}
colEnd--;
// 填充上半部分
if (rowStart < rowCount) {
for (int i = colEnd; i >= colStart; --i) {
matrix[rowCount - 1][i] = num++;
}
rowCount--;
}
// 填充下半部分
if (colStart < colCount) {
for (int i = rowStart; i < rowCount; ++i) {
matrix[i][colStart] = num++;
}
colStart++;
}
rowCount++;
colCount++;
}
// 打印结果
for (int[] row : matrix) {
for (int cell : row) {
System.out.print(cell + " ");
}
System.out.println();
}
}
public static void main(String[] args) {
int size = 5;
printSpiral(size);
}
}
```
在这个例子中,`printSpiral`函数会打印出指定大小(例如5x5)的螺旋方阵。你可以通过改变`main`方法中的`size`值来调整方阵的大小。