package com.atguigu.arithetic;
import java.util.Scanner;
public class HuiXingNumber {
public void Traverse(int[][] array) {
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.print(array[i][j] + "\t");
}
System.out.println();
}
}
public void assignValue(int[][] array) {
int len = array.length;
int s = len * len;
int k = 1 ;
int i = 0,j = 0;
for (int m = 1; m <= s; m++) {
if(k == 1) {
if(j < len && array[i][j] == 0) {
array[i][j++] = m;
}else {
k = 2;
m--;
j--;
i++;
}
}else if(k == 2){
if (i < len && array[i][j] == 0) {
array[i++][j] = m;
}else {
k++;
m--;
i--;
j--;
}
}else if (k == 3) {
if (j >= 0 && array[i][j] == 0) {
array[i][j--] = m;
}else {
k++;
j++;
i--;
m--;
}
}else if(k == 4){
if (i >= 0 && array[i][j] == 0 ) {
array[i--][j] = m;
}else {
k = 1;
i++;
j++;
m--;
}
}
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("输入回形数大小");
int len = scanner.nextInt();
int[][] arr = new int[len][len];
HuiXingNumber huiXingNumber = new HuiXingNumber();
huiXingNumber.assignValue(arr);
huiXingNumber.Traverse(arr);
}
}