package com;
import java.util.Arrays;
public class ManyArray {
int count = 0;
int dcount = 0;
public void printArray() {
int[][] array = new int[5][5];
array[0][0] = 1;
setNumber(0, 0, array);
for (int i = 0; i < 5; i++) {
System.out.println(Arrays.toString(array[i]));
}
}
public static void main(String[] args) {
new ManyArray().printArray();
}
//逆时针设数
public void setNumber(int i, int j, int[][] a) {
//自左向右方向
if (i < a.length - 1 && a[i][j + 1] == 0 && count != 4) {
a[i][j + 1] = a[i][j] + 1;
count++;
setNumber(i, j + 1, a);
} else if (i < a.length - 1 && a[i + 1][j] == 0) { //自上向下方向
a[i + 1][j] = a[i][j] + 1;
setNumber(i + 1, j, a);
} else if (j > 0 && a[j][j - 1] == 0) { //自右向左
a[i][j - 1] = a[i][j] + 1;
setNumber(i, j - 1, a);
} else if (i >= 0 && a[i - 1][j] == 0) {// 自下向上方向
a[i - 1][j] = a[i][j] + 1;
dcount++;
if (dcount == 3) {
count = 0;
}
setNumber(i - 1, j, a);
}
}
}