螺线型矩阵

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

 

 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 }

posted @ 2014-07-18 14:08  123木头人啊  阅读(343)  评论(0编辑  收藏  举报