无法声明数组大小

时间:2019-10-04 00:05:01

标签: java

我正在创建井字游戏,并使用2D阵列跟踪每个正方形中的内容。问题是数组没有采用第二个列的大小。

package TicTacToePrj;

import java.awt.*;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Random;

public class SuperTicTacToeGame {
    private Cell[][] cBoard;
    private GameStatus status;
    private Cell turn;
    private int connections;

    int r = 3;
    int c = 3;

    public int getR() {
        return r;
    }

    public void setR(int r) {
        this.r = r;
    }

    public int getC() {
        return c;
    }

    public void setC(int c) {
        this.c = c;
    }

    private static final boolean AI = true;

    private ArrayList<Point> backup = new ArrayList<Point>();

    public SuperTicTacToeGame(int r, int c) {
        status = GameStatus.IN_PROGRESS;
        cBoard = new Cell[this.r][this.c];
        reset();
    }
}

数组正在使用这些枚举器对象,这是我唯一的怀疑。

package TicTacToePrj;

public enum Cell {
X, O, EMPTY
}

1 个答案:

答案 0 :(得分:3)

您的构造函数将忽略参数(rc),而使用字段(this.rthis.c)来初始化矩阵。

如果要保留这些字段,要修复代码,您需要首先为字段分配参数。

另外,您的set方法可能无法正常工作,因为您更改了矩阵大小,但没有更改矩阵本身。您应该删除这些方法,或者在调用setter时对矩阵做一些事情。