1 回答

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊
您的代碼至少有兩個(gè)問題:
在方法中定義類
空點(diǎn)器異常
您在方法中定義了類:deck
start()
public class MainGUI extends Application {
public void start(Stage primaryStage) {
class deck {
}
}
}
這是行不通的。移動(dòng)類的外部:class deckMainGUI
public class MainGUI extends Application {
public void start(Stage primaryStage) {
}
}
class deck {
}
空點(diǎn)器異常
從堆棧跟蹤中:
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;
}
唯一可以在這里(因此導(dǎo)致異常)的實(shí)數(shù)變量是變量。所以讓舒爾它不是。nullDecknull
在您的代碼中,它是 null,因?yàn)槟鷦?chuàng)建了一個(gè)新實(shí)例并期望設(shè)置類成員,但它實(shí)際上是 。deckDecknull
看:
deck firstDeck = new deck();
firstDeck.Deck = firstDeck.shuffleDeck(firstDeck.Deck);
這里將是.解決此問題的一種方法是在創(chuàng)建新實(shí)例時(shí)立即初始化類成員:firstDeck.DecknullDeckdeck
class deck {
public ArrayList<Integer> Deck = new ArrayList<>();
}
添加回答
舉報(bào)