fun outputHui(num: Int) {
val huiArray = Array(num) { IntArray(num) }
var minX = 0 //x轴最小下标
var minY = 0 //y轴最小下标
var maxX: Int = num - 1 //x轴最大下标
var maxY: Int = num - 1 //y轴最大下标
var counter = 0 //计数
while (minX <= maxX) {
// ------>
for (i in minX..maxX) {
huiArray[minY][i] = ++counter
}
// |
// |
// |
// |
// V
minY++
for (i in minY..maxY) {
huiArray[i][maxX] = ++counter
}
// <------
maxX--
for (i in maxX downTo minX) {
huiArray[maxY][i] = ++counter
}
// ^
// |
// |
// |
// |
maxY--
for (i in maxY downTo minY) {
huiArray[i][minX] = ++counter
}
minX++
}
// 输出
for (i in 0 until huiArray.size) {
for (j in 0 until huiArray[i].size) {
System.out.print("${huiArray[i][j]} ");
}
System.out.println();
}
}