java 如何使用catch同時偵錯

System.out.println("輸入數字一: ");

while(true)

{

f=0;

try

{

a=Double.parseDouble(in.readLine());

}

catch(NumberFormatException e)

{

System.out.println("輸入錯誤&再一次!");

f=1;

continue;

}

finally

{

if(f==0)

break;

}

}

如何在裡面再加上偵錯規定內的英文呢?

已更新項目:

英文字 A~H

2 個已更新項目:

就是除了偵錯是數字外以及英文字A~F其餘都是錯誤的

上面說的不清楚抱歉

1 個解答

評分
  • 吉他
    Lv 5
    1 0 年前
    最佳解答

      01.String input = ""; //宣告用來存放使用者輸入的字串  02.while(true)  03.{  04.  System.out.print("輸入數字一: ");  05.  input = in.readLine(); //取得使用者輸入的字串  06.  try  08.  {  09.     a = Double.parseDouble(input);   10.     break;   11.  }  12.  catch(NumberFormatException e)  13.  {  14.     if(input.matches("[a-fA-F]")) break;  15.     System.out.println("輸入錯誤&再一次!");  16.  }  17.}說明:如果程式在執行第9行時,將變數input裡的字串轉換為double型態時編譯未丟出例外,則程式會執行第10行的break離開while迴圈,反之,如果程式在第9行無法轉換為double型態時,會丟出例外,程式會跳到第14行繼續執行,在第14行寫了一個if判斷式用來判斷變數input裡的非數值字串,內容是否是字母a~f或A~F,如果if判斷結果為true,則離開while迴圈,反正則執行第15行印出錯誤訊息,並繼續執行while迴圈。

    參考資料: 我~
還有問題?馬上發問,尋求解答。