本帖最後由 葉桔良 於 2023-4-8 16:40 編輯
利用 try...catch 語法捕捉例外, 針對不同的例外做出不同的回應, 並只允許使用者至多三次的錯誤嘗試.
(例如若捕捉到 ArithmeticException 便回應 "運算錯誤! 分母不可為零!",而若捕捉到 InputMismatchException 則回應 "格式錯誤! 輸入須為整數!")
- import java.util.*;
- public class Ch54
- {
- public static void main(String args[])
- {
- int x,y,n=0;
- while(true)
- {
- if(n==3)
- {
- System.out.println("錯誤嘗試過多! 程式跳出!");
- return;
- }
- try
- {
- Scanner s=new Scanner(System.in);
- System.out.print("請輸入分子: ");
- x=s.nextInt();
- System.out.print("請輸入分母: ");
- y=s.nextInt();
- System.out.println(x+"/"+y+"="+(x/y));
- return;
- }catch(ArithmeticException e)
- {
- n++;
- System.out.println("運算錯誤! 分母不可為零!\n");
- }catch(InputMismatchException e)
- {
- n++;
- System.out.println("格式錯誤! 輸入須為整數!\n");
- }
- }
- }
- }
複製代碼 |