public class Solution{ public static void printJZ(int n){ int [][]A=new int[n][n]; int t=1; int i=0; int j=0; for(int k=0;k<n/2;k++){//k代表第几圈 for(i=k,j=k;j<n-k-1;j++){//第一条边 A[i][j]=t++; } for(i=k,j=n-k-1;i<n-k-1;i++){//第二条边 A[i][j]=t++; } for(i=n-k-1,j=n-k-1;j>k;j--){//第三条边 A[i][j]=t++; } for(i=n-k-1,j=k;i>k;i--){//第四条边 A[i][j]=t++; } } if(n%2==1){ A[n/2][n/2]=t; } for(i=0;i<n;i++){ for (j=0;j<n;j++) { System.out.print(A[i][j]+" "); } System.out.println(); } } public static void main(String[]args){ printJZ(11); } }