1 回答
TA贡献1877条经验 获得超1个赞
您的代码至少有两个问题:
在方法中定义类
空点器异常
您在方法中定义了类:deck
start()
public class MainGUI extends Application {
public void start(Stage primaryStage) {
class deck {
}
}
}
这是行不通的。移动类的外部:class deckMainGUI
public class MainGUI extends Application {
public void start(Stage primaryStage) {
}
}
class deck {
}
空点器异常
从堆栈跟踪中:
Caused by: java.lang.NullPointerException
at MainGUI$1deck.shuffleDeck(MainGUI.java:36)
这涉及以下方法:
public ArrayList<Integer> shuffleDeck(ArrayList<Integer> Deck) {
int x = 52;
for (int i = 1; i <= x; ++i) {
Deck.add(i);
}
Collections.shuffle(Deck);
return Deck;
}
唯一可以在这里(因此导致异常)的实数变量是变量。所以让舒尔它不是。nullDecknull
在您的代码中,它是 null,因为您创建了一个新实例并期望设置类成员,但它实际上是 。deckDecknull
看:
deck firstDeck = new deck();
firstDeck.Deck = firstDeck.shuffleDeck(firstDeck.Deck);
这里将是.解决此问题的一种方法是在创建新实例时立即初始化类成员:firstDeck.DecknullDeckdeck
class deck {
public ArrayList<Integer> Deck = new ArrayList<>();
}
添加回答
举报