【Java语言】练习系列----回形数格式方阵的实现

从键盘输入一个整数, 则以该数字为矩阵的大小, 把1,2,3…n*n 的数字按照顺时针螺旋的形式填入其中。 例如: 输入数字2,则程序输出: 1 2 4 3 输入数字3,则程序输出: 1 2 3 8 9 4 7 6 5 输入数字4, 则程序输出: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7

具体代码实现如下:

public class RectangleTest {
          
   

    public static void main(String[] args) {
          
   
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数:");
        int n = sc.nextInt();
        int[][] arr = new int[n][n];// 创建二维数组,用于存放数据

        int left = 0;// 表示左侧
        int right = n - 1;// 表示右侧
        int top = 0;// 表示上侧
        int down = n - 1;// 表示下侧
        int count = 0;// 用于计数

        while (left <= right) {
          
   
            for (int i = left; i <= right; i++) {
          
   
                arr[top][i] = ++count;
            }
            top++;
            for (int j = top; j <= down; j++) {
          
   
                arr[j][right] = ++count;
            }
            right--;
            for(int i = right; i >= left; i--){
          
   
                arr[down][i] = ++count;
            }
            down--;
            for(int j = down; j >= top; j--){
          
   
                arr[j][left] = ++count;
            }
            left++;
        }

        System.out.println("输出的回行数格式方阵如下:");
        // 输出二维数组
        for(int i = 0; i < arr.length; i++){
          
   
            for(int j = 0; j < arr[i].length; j++){
          
   
                System.out.print(arr[i][j] + "	");
            }
            System.out.println();
        }
    }
}

人生若只如初见,何事秋风悲画扇。 等闲变却故人心,却道故人心易变。 -----------纳兰性德

小白寄语:学如逆水行舟,不进则退。

经验分享 程序员 微信小程序 职场和发展