空间类型的二维数组

时间:2018-12-28 05:31:28

标签: arrays multidimensional-array

我正在尝试制作一个9x9的1-10整数值的空格网格。我正在使用Java n-ide应用程序,并且编译成功,但是没有输出任何值。

class Space {
    int one = 1;
    int two = 2;
    ...
    int ten = 10;
}

class green {
    Space[][] board = new Space[9][9];

    for (int i = 0; i < board.length; i++) {
        for (int j = 0; j < board[i].length; j++) {
            board[i][j] = new Space();
            System.out.println(board[i][j].one);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

我认为您可以将Space类重构为仅包含原始整数值:

class Space {
    private int value;
    private static final String MSG = "Space values must be between 1 and 10 inclusive";

    public Space() { }

    public Space(int value) {
        // prevent spaces from being created with illegal values
        if (value < 1 || value > 10) {
            throw new IllegalArgumentException(MSG);
        }
        this.value = value;
    }

    public int getValue() {
        return value;
    }
}

然后,在您的消费类中,使用Space类:

class Green {
    private Space[][] board = new Space[9][9];

    for (int i=0; i < board.length; i++) {
        for (int j=0; j < board[i].length; j++) {
            // maybe get a value from somewhere and use it below
            board[i][j] = new Space();
        }
    }
}

关于您无法打印值的确切问题,比上面更大的问题是您没有分配值的逻辑。