public static int[][] getArray(int n){ int array[][] = new int[n][n]; int N = n; //列数 int i = 0,j=0; //每轮循环行,列 int Num = 0; //当前数字 for(int m = 0;m<N/2;m++){ //每次轮询一圈,按照规律,需要轮询列数的一半圈数 for(i=m;i<N-m;i++){ //为每一圈轮询的上部一行赋值 array[m][i] = Num; Num++; } for(j=m+1;j<N-m;j++){ //为每一圈轮询的右部一列赋值 array[j][N-m-1] = Num; Num++; } for(i=N-m-2;i>=m;i--){ //为每一圈轮询的底部一行赋值 array[N-m-1][i]=Num; Num++; } for(j=N-m-2;j>m;j--){ //为每一圈轮询的左部一列赋值 array[j][m]=Num; Num++; } } for(int x=0;x<N;x++){ for(int y=0;y<N;y++){ System.out.print(array[x][y]+"/t"); } System.out.println(""); } return array; }