package test;
public class LuoXuanArray {
public static void LuoArray(int num,int[][] a){
int k=0;
int p=0;
a[0][0]=1;
for(int i=0;i<=(num-1)/2;i++){//每一圈爲一個循環
k=num-2*i;
p=a[i][i];
if(i>0){
p=a[i][i-1]+1;
a[i][i]=p;
}
for(int j=i;j<k-1+i;j++){//內層循環,每一層的一行的第一個數字到倒數第二個數字
a[i][j]=p+j-i;
a[j][i+k-1]=a[i][j]+k-1;
a[i+k-1][num-1-j]=a[i][j]+2*(k-1);
a[num-1-j][i]=a[i][j]+3*(k-1);
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int num=5;
int[][] a=new int[num][num];
LuoArray(num, a);
for(int i=0;i<a.length;i++){
for(int j=0;j<a[0].length;j++){
System.out.print(a[i][j]+" ");
}
System.out.println();
}
}
}
打印出來: