我似乎没有任何理由出现 nullPointerException,请您查看我的代码并告诉我您的意见吗?这是我在另一个类上调用的类和构造函数,以便从链表中随机获取标签(使用随机播放,这也是随机化的)。这里是
public class RandomHeuristic {
GameInterface game;
JLabel randomLabel;
public JLabel RandomHeuristic() {
randomLabel = (JLabel) game.labels.getFirst();
int counter = 0;
do {
Collections.shuffle(game.labels);
randomLabel = (JLabel) game.labels.getFirst();
counter++;
if (counter == 100) {
break;
}
/*
* Debugging
* System.out.println(randomLabel.getText());
*/
} while (randomLabel != null && game.isLegalMove(randomLabel) == false);
//Retrieves and removes the head (first element) of this list.
if(randomLabel == null){
RandomHeuristic();
}
//game.labels.remove(randomLabel);
return randomLabel;
}
}
这里是我调用构造函数的地方,playHeuristicMove() 期待一个 JLabel,我在调试时检查了它是否正常工作,尽管当我调用它时我仍然得到一个 nullPointer 异常。randomHeuristicOne 是在同一个类上创建的,如下所示:RandomHeuristic randomHeuristicOne;
playHeuristicMove(randomHeuristicOne.RandomHeuristic());