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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

檢查輸入是否為數(shù)字時出現(xiàn)邏輯錯誤,如果不是則重新請求用戶輸入直到有效

檢查輸入是否為數(shù)字時出現(xiàn)邏輯錯誤,如果不是則重新請求用戶輸入直到有效

神不在的星期二 2023-07-19 17:08:55
當(dāng)輸入無效輸入時,它會轉(zhuǎn)到 catch 塊并無限執(zhí)行 catch 塊,而不循環(huán)回 try 塊以獲取另一個輸入當(dāng)輸入有效數(shù)據(jù)時它起作用public static double getInputNumber(Scanner input){    double num=0;    while(true) {        try {            num = input.nextDouble();            return num;        } catch (Exception ex) {            System.out.println("Invalid value entered.. Enter again : ");        }    }}預(yù)期 - 當(dāng)輸入無效值時,向用戶顯示錯誤消息并重新輸入,直到用戶輸入有效值。實際 - 當(dāng)輸入無效值時,它會在屏幕上重復(fù)顯示錯誤消息,而無需重新輸入
查看完整描述

2 回答

?
慕蓋茨4494581

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

很可能輸入已關(guān)閉,或者 中的下一個標(biāo)記input不是雙精度。其中任何一個都會導(dǎo)致拋出異常,而不提前輸入,從而導(dǎo)致無限循環(huán)。


因此,您需要找出錯誤的原因,采取適當(dāng)?shù)拇胧?- 例如,類似:


public static double getInputNumber(Scanner input){

    double num=0;

    while(true) {

              try {

                  num = input.nextDouble();

                  return num;

               } catch (InputMismatchException ex) {

                   System.out.println("Invalid value entered.. Enter again : ");

               } catch (NoSuchElementException ex) {

                   System.out.println("Input exhausted ");

                   return 0;

               } catch (IllegalStateException ex) {

                   System.out.println("Scanner closed ");

                   return 0;

               }

          }

    }

}

您還可以input.hasNextDouble()在致電之前檢查一下nextDouble()


查看完整回答
反對 回復(fù) 2023-07-19
?
瀟湘沐

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

只需添加 input.next()


} catch (Exception ex) {

   System.out.println("Invalid value entered.. Enter again : ");

   input.next();

}

input.next() 清除掃描儀。


查看完整回答
反對 回復(fù) 2023-07-19
  • 2 回答
  • 0 關(guān)注
  • 165 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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