编写一个程序,打印输出下列5×5螺旋方阵:
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
1 public class Main 2 { 3 public static void main(String args[]) 4 { 5 int map[][] = new int[5][5]; 6 for(int i=0;i<5;i++) 7 for(int j=0;j<5;j++) 8 map[i][j]=0; 9 int []x ={0,1,0,-1}; 10 int []y ={1,0,-1,0}; 11 int a=0,b=0,c=0; 12 map[0][0]=1; 13 for(int k=2;k<=25;k++) 14 { 15 int ta = a+x[c]; 16 int tb = b+y[c]; 17 if( ta>4 || tb>4 || ta<0 || tb<0) 18 { 19 c = (c+1)%4; 20 ta = a+x[c]; 21 tb = b+y[c]; 22 } 23 if(map[ta][tb] != 0) 24 { 25 c = (c+1)%4; 26 ta = a+x[c]; 27 tb = b+y[c]; 28 } 29 a=ta; 30 b=tb; 31 map[a][b] = k; 32 } 33 for(int i=0;i<5;i++) 34 { 35 for(int j=0;j<5;j++) 36 { 37 System.out.print(map[i][j]+" "); 38 } 39 System.out.println(); 40 } 41 } 42 }