Я делаю игру тральщика в java, и я объявил 2d массив объектов Tile в качестве игрового поля. 2d array board
объявляется как переменная экземпляра, а затем заполняется объектами Tile, когда пользователь передает размер (от 4x4 до 10x10 включительно). Затем я пытаюсь вызвать метод на конкретном объекте из другого метода в классе GameBoard
, используя формат board[a][b].setMarked(true)
. Я получаю ошибку «не могу найти символ - метод setMarked (boolean)». Я смущен относительно того, как GameBoard не может видеть метод в Tile, поскольку он был объявлен как открытый, и я могу назвать его из объекта без массива. Я предполагаю, что это связано с переменными экземпляра и конструкторами?Метод не отображается при вызове из массива 2d объектов (java)?
GameBoard класс соответствующий код:
public class GameBoard {
private Object[][] board;
public GameBoard(int a) {
board = new Object[a][a];
for (int i=0; i<a; i++) {
for (int j=0; j<a; j++) {
board[i][j] = new Tile(false);
}
}
}
public void mark(int a,int b) {
board[a][b].setMarked(true);
}
}
плитка класс соответствующий код:
public void setMarked(boolean m) {
marked = m;
}
где marked
является булева переменная экземпляра объявлена в плитке.
Я тоже так думал, и попробовал не повезло – whims