首页 > 代码库 > 螺线型矩阵

螺线型矩阵

螺旋矩阵是指一个呈螺旋状的矩阵,它的数字由第一行开始到右边不断变大,向下变大,
向左变大,向上变大,如此循环。

 

 1 import java.io.*; 2 public class demo1 3 { 4     public static void main(String[] args) 5     { 6         String strln=""; 7         System.out.println("请输入矩阵的行列数:"); 8         InputStreamReader input=new InputStreamReader(System.in); 9         BufferedReader buff=new BufferedReader(input);10         try{11         strln=buff.readLine();12         }13         catch(IOException e){14         System.out.println(e.toString());15         }16         int int1=Integer.parseInt(strln);17         int n=int1;18         System.out.println("这是行列数为"+n+"的螺线型数组");19         int intA=1;//初始化20         int [][]array=new int[n][n];21         int intB;22         if(n%2!=0){23             intB=n/2+1;24         }25         else26             intB=n/2;27         for(int i=0;i<intB;i++)28         {                    //从外到里循环29             //从左到右横的开始30             for(int j=i;j<n-i;j++){31             array[i][j]=intA;32             intA++;33             }34 35             //从上到下纵36             for(int k=i+1;k<n-i;k++){37             array[k][n-i-1]=intA;38             intA++;39             }40 41             //从右到左横42             for(int L=n-i-2;L>=i;L--){43             array[n-i-1][L]=intA;44             intA++;45             }46 47             //从下到上纵48             for(int m=n-i-2;m>i;m--){49             array[m][i]=intA;50             intA++;51             }52         }53     for(int i=0;i<n;i++){54         for(int j=0;j<n;j++){55         System.out.print(array[i][j]+" ");56         }57         System.out.println();58     }59 60     }61 }