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

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

如何在我的代碼中添加 try 、 catch 語句以僅接收整數(shù)值?

如何在我的代碼中添加 try 、 catch 語句以僅接收整數(shù)值?

一只甜甜圈 2022-06-04 15:45:52
我創(chuàng)建了一個(gè) JOptionPane 對(duì)話框來接受用戶的輸入以選擇他們想要購買的蛋糕類型,但我只想接受一個(gè)整數(shù)值。我對(duì) java 編程很陌生,需要一些幫助,使用 try, catch 只獲取一個(gè)整數(shù)值。我創(chuàng)建了“Cakes[]”數(shù)組來存儲(chǔ)和檢索蛋糕的味道、蛋糕的價(jià)格和剩余的蛋糕數(shù)量。do {    do {        String userinput = JOptionPane.showInputDialog(null, "Enter your choice of cake:"        + "\n" + "1." + Cakes[0].getflavorofcake() + "(" + Cakes[0].getpriceofcake() + "cents" + ")" + "    no. of cakes available:" + Cakes[0].getnofcaksleft()        + "\n" + "2." + Cakes[1].getflavorofcake() + "(" + Cakes[1].getpriceofcake() + "cents" + ")" + "      no. of cakes available:" + Cakes[1].getnofcaksleft()        + "\n" + "3." + Cakes[2].getflavorofcake() + "(" + Cakes[2].getpriceofcake() + "cents" + ")" + "            no. of cakes available:" + Cakes[2].getnofcaksleft()        + "\n" + "4." + Cakes[3].getflavorofcake() + "(" + Cakes[3].getpriceofcake() + "cents" + ")" + "        no. of cakes available:" + Cakes[3].getnofcaksleft()        + "\n" + "5." + Cakes[4].getflavorofcake() + "(" + Cakes[4].getpriceofcake() + "cents" + ")" + "          no. of cakes available:" + Cakes[4].getnofcaksleft(), "mini cake shop", JOptionPane.QUESTION_MESSAGE);        choiceofcake = Integer.parseInt(userinput);        showthatthereisnocakesleft(choiceofcake);//Method called to show user that the choiceofcake chosen is no longer available    } while (Cakes[choiceofcake - 1].getnofcaksleft() < 1);    if (choiceofcake > 5 || choiceofcake < 1) {    JOptionPane.showMessageDialog(null, "Invalid input! Please enter in the range from  1 to 5", "Error", JOptionPane.ERROR_MESSAGE);    }} while (choiceofcake > 5 || choiceofcake < 1);
查看完整描述

3 回答

?
慕尼黑8549860

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

包裹


choiceofcake = Integer.parseInt(userinput);

嘗試捕捉


try {

   choiceofcake = Integer.parseInt(userinput);

   if (choiceofcake > 5 || choiceofcake < 1) {

        break;

   }

} catch (NumberFormatException ee) {

    ee.printStatckTrace ();

    continue;

}


查看完整回答
反對(duì) 回復(fù) 2022-06-04
?
浮云間

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

由于您是 Java 新手,因此 try-catch 的想法是在可能發(fā)生異常的情況下包圍一段代碼。在您的情況下,如果“userInput”無法轉(zhuǎn)換為數(shù)字,“parseInt”可能會(huì)引發(fā)異常。可以參考官方文檔發(fā)現(xiàn)哪些異常類型: https://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html#parseInt(java.lang.String)

您還可以創(chuàng)建和/或拋出您自己的異常。例如,在這種情況下,您可以在檢查“userInput”是否超出所需值后引發(fā) IllegalArgumentException:

throw new IllegalArgumentException();

您可以在某處捕獲異常,然后顯示帶有警報(bào)的消息對(duì)話框。


查看完整回答
反對(duì) 回復(fù) 2022-06-04
?
呼啦一陣風(fēng)

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

假設(shè)您希望循環(huán)繼續(xù),即使在輸入錯(cuò)誤的情況下,您也可以嘗試以下操作:


do {

    String userinput = JOptionPane.showInputDialog(null, "Enter your choice of cake:" +

        "\n" + "1." + Cakes[0].getflavorofcake() + "(" + Cakes[0].getpriceofcake() + "cents" + ")" + "    no. of cakes available:" + Cakes[0].getnofcaksleft() +

        "\n" + "2." + Cakes[1].getflavorofcake() + "(" + Cakes[1].getpriceofcake() + "cents" + ")" + "      no. of cakes available:" + Cakes[1].getnofcaksleft() +

        "\n" + "3." + Cakes[2].getflavorofcake() + "(" + Cakes[2].getpriceofcake() + "cents" + ")" + "            no. of cakes available:" + Cakes[2].getnofcaksleft() +

        "\n" + "4." + Cakes[3].getflavorofcake() + "(" + Cakes[3].getpriceofcake() + "cents" + ")" + "        no. of cakes available:" + Cakes[3].getnofcaksleft() +

        "\n" + "5." + Cakes[4].getflavorofcake() + "(" + Cakes[4].getpriceofcake() + "cents" + ")" + "          no. of cakes available:" + Cakes[4].getnofcaksleft(), "mini cake shop", JOptionPane.QUESTION_MESSAGE);


    choiceofcake = Integer.parseInt(userinput);


    if (choiceofcake > 5 || choiceofcake < 1) {

        JOptionPane.showMessageDialog(null, "Invalid input! Please enter in the range from  1 to 5", "Error", JOptionPane.ERROR_MESSAGE);

    }

    else {

        showthatthereisnocakesleft(choiceofcake);

    }

} while (Cakes[choiceofcake - 1].getnofcaksleft() < 1);

如果您希望循環(huán)在輸入錯(cuò)誤時(shí)完全停止,請(qǐng)考慮IllegalArgumentException在發(fā)生這種情況時(shí)拋出一個(gè)。


查看完整回答
反對(duì) 回復(fù) 2022-06-04
  • 3 回答
  • 0 關(guān)注
  • 135 瀏覽

添加回答

舉報(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)