螺線型矩陣

螺旋矩陣是指一個呈螺旋狀的矩陣,它的數字由第一行開始到右邊不斷變大,向下變大,
向左變大,向上變大,如此循環。java

 

 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         else
26             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 }

相關文章
相關標籤/搜索