/*需求: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
*/
package 经典算法案例;
import java.util.Scanner;
public class LuoXuan2WeiArr {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入你想要多少长度的螺旋数组:");
int cd = sc.nextInt();
int[][] arr = new int[cd][cd];
int i = 0;
int j = -1;
int a = 1;
int n = 0;
for (int time = 1; time <= cd - n; time++) {
j++;
arr[i][j] = a;
a++;
}
n++;
while (true) {
for (int time = 1; time <= cd - n; time++) {
i++;
arr[i][j]=a;
a++;
}
for (int time = 1; time <= cd - n; time++) {
j--;
arr[i][j] = a;
a++;
}
n++;
if (cd - n == 0) {
break;
}
for (int time = 1; time <= cd - n; time++) {
i--;
arr[i][j] = a;
a++;
}
for (int time = 1; time <= cd - n; time++) {
j++;
arr[i][j] = a;
a++;
}
n++;
if (cd - n == 0) {
break;
}
}
for (int o = 0; o < cd; o++) {
for (int q = 0; q < cd; q++) {
System.out.print(arr[o][q] + "\t");
}
System.out.println();
}
}
}