62,615
社区成员
发帖
与我相关
我的任务
分享
public class Test{
public static void main(String args[]) {
fun(8);
}
static void fun(int n){
int k=n-1;
int count=1;
int a[][]=new int[n][n];
for(int i=0;i<n/2;i++){
for(int j=i;j<k;j++){
a[i][j]=count++;
}
for(int j=i;j<k;j++){
a[j][k]=count++;
}
for(int j=k;j>i;j--){
a[k][j]=count++;
}
for(int j=k;j>i;j--){
a[j][i]=count++;
}
k--;
}
if(n % 2!=0){
int i=(n-1)/2;
a[i][i]=n*n;
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
System.out.printf("%4d",a[i][j]);
}
System.out.println();
}
}
}