第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

調(diào)用目標(biāo)異常,不知道該怎么辦

調(diào)用目標(biāo)異常,不知道該怎么辦

慕妹3242003 2022-09-28 15:44:27
我已經(jīng)嘗試過不使用類使用局部變量相同的問題。GUI應(yīng)該打開,我可以提交我想要的牌的數(shù)量,并將從一副牌中隨機(jī)選擇。和 GUI 上的其他按鈕也public class MainGUI extends Application {    public void start(Stage primaryStage) {        class deck {            public ArrayList <Integer> Deck;            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;        }            public  ArrayList<Integer> randomCardsSelector(int x, ArrayList<Integer> Deck){                ArrayList<Integer> selectedCards = new ArrayList<Integer>();                Random rand = new Random();                for(int i = 1; i <= x; ++i) {                    int newElement = rand.nextInt(Deck.size());                    selectedCards.add(Deck.get(newElement));                    Deck.remove(newElement);                    }                return selectedCards;            }        }        //Horizontal box containing Label, TextField, Button, Cards drawn        HBox topContainer = new HBox();        topContainer.setSpacing(10);        topContainer.setPadding(new Insets(25,50,25,50));        //This is the label        Label insertNbr = new Label();        insertNbr.setText("Number of cards:");        insertNbr.setPadding(new Insets(5,5,5,5));        //This the TextField        TextField cardNbr = new TextField();        cardNbr.setPadding(new Insets(5,5,5,5));        cardNbr.setPrefWidth(30);        //This is the submit button        Button submitBtn = new Button();        submitBtn.setPadding(new Insets(5,5,5,5));        submitBtn.setText("Submit");        HBox newBox = new HBox();        //This is the fetch button        Button fetchBtn = new Button();        fetchBtn.setPadding(new Insets(5,5,5,5));        fetchBtn.setText("Fetch");        fetchBtn.setDisable(true);        });我已經(jīng)嘗試過不使用類使用局部變量相同的問題。
查看完整描述

1 回答

?
冉冉說

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊

您的代碼至少有兩個(gè)問題:

  1. 在方法中定義類

  2. 空點(diǎn)器異常

您在方法中定義了類:deckstart()

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<>();

}


查看完整回答
反對 回復(fù) 2022-09-28
  • 1 回答
  • 0 關(guān)注
  • 96 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)