天天看點

java編寫螺旋矩陣

今天上java課,老師教我們一種非常簡單的螺旋矩陣的java編寫方法,在這裡記載一下:

import java.util.Scanner;

public class hello1 {

    public static void main(String[] args) {

        // TODO Auto-generated method stub

                Scanner s =new Scanner(System.in);

                int n =s.nextInt();

                int arr[][]= new int[n][n];

                int rows = 0;

                int cols = -1;

                int div = 0;

                int index = 0;

                while(index<n*n){

//                    從左到右

                    for(int i=0;i<n-div;i++){

                        arr[rows][++cols]=++index;

                    }

//                    從上到下

                    for(int i=0;i<n-1-div;i++){

                        arr[++rows][cols]=++index;

                    }

//                    從右到左

                    for(int i=0;i<n-1-div;i++){

                        arr[rows][--cols]=++index;}

//                    從下到上

                    for(int i=0;i<n-2-div;i++){

                        arr[--rows][cols]=++index;}

                    div+=2;

                }

                for(int i = 0;i<n;i++)

                    {for(int j = 0;j<n;j++)

                        System.out.print(arr[i][j]+"\t");

                System.out.println();}

    }

}