螺线型矩阵
螺旋矩阵是指一个呈螺旋状的矩阵,它的数字由第一行开始到右边不断变大,向下变大,
向左变大,向上变大,如此循环。
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 }