阵列板(3,3)有效,但阵列板(6,7)不是?

时间:2014-02-21 19:44:58

标签: java arrays 2d-games

我一直致力于一项需要我编写棋盘游戏代码的作业:Tic-Tac-Toe,Connect 4和Mastermind。我目前头痛的事实是,我可以制作一个名为Board的二维数组,其参数为(3,3)来定义tic tac toe 9 celled游戏板,但我不能制作一个名为Board的数组,其参数为(6,7)定义Connect 4板,甚至(5,8)为Mastermind。有一条规则我完全在看吗?

    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 6
        at games.board.Board.<init>(Board.java:10)
        at BoardGameTester.main(BoardGameTester.java:15)
    Java Result: 1

main()的来源:http://pastebin.com/CA7Ecp8H Board.java的来源:http://pastebin.com/PjqHfap4

此外,我不是要求对项目的答案,我只是要求更多信息,说明为什么我无法制作非方阵。

1 个答案:

答案 0 :(得分:0)

原来,给定的源代码有一个丑陋的错字。我的导师提供的正确代码:

public Board(int rows, int columns) {
    cells = new Cell[rows][columns];
    for( int r = 0; r < cells.length; r++) {
        for( int c = 0; c < cells[r].length; c++) {
            cells[r][c] = new Cell(r,c);
        }
    }
}