Проблема с инициализацией массива как переменной экземпляра в Java - PullRequest
0 голосов
/ 10 октября 2018

Моя проблема в том, что когда я пытаюсь получить некоторые объекты из массива, который я объявил как переменную экземпляра, я получаю нулевое значение вместо объекта, который я помещаю в мой массив.Как я знаю, массивы должны автоматически инициализироваться как любые другие переменные экземпляра, если мы установим некоторые значения по умолчанию.Я объясню это в деталях в коде ниже:

public class GameBoardAI implements IGameModel{


    Random rand = new Random();
    int currentPlayer = 1;
    TicTacViewController tacController = new  TicTacViewController();
    Button[] buttonss = new Button[]{ tacController.btn1, tacController.btn2, tacController.btn3, tacController.btn4, 
            tacController.btn5, tacController.btn6, tacController.btn7, tacController.btn8, tacController.btn9};  

Вот начало моего класса, и вот метод, который я пытаюсь использовать:

public void switchPlayer() {
    if(currentPlayer == 1)
    {              
        currentPlayer=2;
        buttonss[rand.nextInt(9)].fire();

    }
    if(currentPlayer == 2)
        currentPlayer = 1;

}

Вы можете увидеть здесь,что я пытаюсь получить случайную кнопку из массива кнопок, которые я создал в переменной экземпляра.Другая сбивающая с толку вещь заключается в том, что все работает хорошо, когда я создаю массив как локальную переменную внутри метода, а не создаю переменную экземпляра. Если это поможет, то здесь приведен код моего TicTacViewController, в котором расположены кнопки:

public class TicTacViewController implements Initializable
{

    @FXML
    private Label lblPlayer;

    @FXML
    private Button btnNewGame;

@FXML
private GridPane gridPane;

private static final String TXT_PLAYER = "Player: ";
private IGameModel game = new GameBoard();
@FXML
public Button btn1;
@FXML
public Button btn2;
@FXML
public Button btn3;
@FXML
public Button btn4;
@FXML
public Button btn5;
@FXML
public Button btn6;
@FXML
public Button btn7;
@FXML
public Button btn8;
@FXML
public Button btn9;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...