代码如下:
public class N { public static void main(String[] args) { final int N=4; int a[][]=new int[N][N]; int num=1; int i=0,j=0,m=0; if(N%2==0) m=N/2; else m=N/2+1; for(i=0;i<=m-1;i++){ for(j=i;j<=N-i-1;j++){ //输出第一行1,2,3,4(第一次循环);输出13,14(第二次循环) a[i][j]=num; num++; } for(j=i+1;j<=N-i-1;j++) { a[j][N-i-1]=num; //输出右侧的5,6,7(第一次循环)输出15(第二次循环) num++; } for(j=N-i-2;j>=i;j--){ a[N-i-1][j]=num; //输出8,9,10(第一次循环)输出16(第二次循环) num++; } for(j=N-i-2;j>=i+1;j--){ a[j][i]=num; //输出11 12(只有一次循环) num++; } } for(i=0;i<N;i++){ for(j=0;j<N;j++){ System.out.print(String.format("%3d",a[i][j])); } System.out.println(); } } }