• Java-螺旋方阵


    用Java实现螺旋方阵
    螺旋方阵:是指呈螺旋状的矩阵。

    这里写图片描述

    具体实现如下:

    public void screwMatrix() {
            System.out.print("请输入数字:");
            Scanner input = new Scanner(System.in);
            int number = input.nextInt();
    
            int[][] matrix = new int[number][number];
            int max = number * number;
            int row = 0, col = 0;
            int direction = 0;
            for (int j = 1; j <= max; j++) {
                matrix[row][col] = j;
                switch (direction) {
                    case 0 :
                        if (col + 1 >= number || matrix[row][col + 1] > 0) {
                            direction += 1;
                            direction %= 4;
                            row += 1;
                        } else {
                            col = col + 1;
                        }
                        break;
                    case 1 :
                        if (row + 1 >= number || matrix[row + 1][col] > 0) {
                            direction += 1;
                            direction %= 4;
                            col -= 1;
                        } else {
                            row = row + 1;
                        }
                        break;
                    case 2 :
                        if (col - 1 < 0 || matrix[row][col - 1] > 0) {
                            direction += 1;
                            direction %= 4;
                            row = row - 1;
                        } else {
                            col = col - 1;
                        }
                        break;
                    case 3 :
                        if (row - 1 < 0 || matrix[row - 1][col] > 0) {
                            direction += 1;
                            direction %= 4;
                            col += 1;
                        } else {
                            row = row - 1;
                        }
                        break;
                    default :
                        System.out.println("ERROR");
                        System.exit(0);
                }
            }
            for (int j = 0; j < number; j++) {
                for (int k = 0; k < number; k++) {
                    // 判断输出最大数的长度
                    int size = ((number * number) + "").length();
    
                    for (int i = 0; i <= (size - (matrix[j][k] + "").length() + 1); i++) {
                        System.out.print(" ");
                    }
                    System.out.print(matrix[j][k]);
                }
                System.out.println("");
            }
        }
  • 相关阅读:
    使用jQuery操作DOM(ppt练习)
    使用jQuery操作dom(追加和删除样式-鼠标移入移出)练习
    Serializable接口
    过滤选择器(接上)
    内容过滤选择器
    基本过滤选择器
    IO流
    C语言打印100到200之间的素数
    续上篇结尾应用异或关系改变两个变量的值
    将两个整型变量的值互换的方法
  • 原文地址:https://www.cnblogs.com/hedianwei/p/6139629.html
Copyright © 2020-2023  润新知