空间类型的 2d 数组



我正在尝试制作一个具有 1-10 个整数值的 9x9 空格网格。我正在使用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);
        }
    }
}

我认为你可以重构你的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();
        }
    }
}
关于您

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

最新更新