All
Я пытаюсь закодировать игру Connect4. Для этого я создал класс P4Game и класс P4Board, которые представляют размеры i X j платы Connect4.
В P4Game у меня есть следующее:
public class P4Game{
//INSTANCE VARIABLES
private int nbLines;
private int nbColumns;
private P4Board [][] position;
//CONSTRUCTOR
public P4Game(int nbLines, int nbColumns){
this.nbColumns = nbColumns;
this.nbLines = nbLines;
P4Board [][] position = new P4Board [nbLines][nbColumns]; //Creates the table to receive the instances of the P4Board object.*/
for (int i=0; i<nbLines; i++){
for (int j=0; j<nbColumns; j++){
this.position[i][j] = new P4Board(i,j); //Meant to create each object at (line=i, column=j)
}
}
}
Это вызывает исключение NullPointerException во вложенных циклах, где я упоминаю this.position[i][j]
. Я ссылаюсь на эти объекты в других методах этого класса, поэтому мне нужно, чтобы они были переменными экземпляра. Полагаю, исключение связано с тем, что я не указал элемент таблицы position[i][j]
в качестве переменной экземпляра в начале класса.
Мой вопрос к людям здесь: (1) верно ли мое предположение, и если да (2), каков будет синтаксис для объявления переменных экземпляра этой формы?
Спасибо всем за помощь в том, что, как я понимаю, это очень простой вопрос. Надеюсь, это пойдет на пользу и другим новичкам.
Приветствия
JDelage