返回列表 發帖

例外處理 (三)

本帖最後由 tonyh 於 2014-9-13 14:44 編輯

利用 try...catch 語法捕捉例外, 針對不同的例外做出不同的回應, 並只允許使用者至多三次的錯誤嘗試.

  1. import java.util.Scanner;
  2. public class ch47
  3. {
  4.     public static void main(String args[])
  5.     {
  6.          for(int i=1; i<=3; i++)
  7.          {
  8.             try
  9.             {
  10.                 int a, b;
  11.                 Scanner s=new Scanner(System.in);
  12.                 System.out.print("請輸入分子: ");
  13.                 a=s.nextInt();
  14.                 System.out.print("請輸入分母: ");
  15.                 b=s.nextInt();
  16.                 System.out.println(a+"/"+b+"="+(a/b)+"\n");
  17.                 return;
  18.             }
  19.             catch(java.lang.ArithmeticException e)
  20.             {
  21.                 System.out.println("運算錯誤! 分母不可為零!\n");
  22.             }
  23.             catch(java.util.InputMismatchException e)
  24.             {
  25.                 System.out.println("格式錯誤! 輸入需為整數!\n");
  26.             }
  27.             if(i==3)
  28.                 System.out.println("錯誤嘗試過多! 程式跳出!\n");
  29.          }
  30.     }
  31. }
複製代碼
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

  1. import java.util.Scanner;
  2. public class ch47
  3. {
  4.     public static void main(String args[])
  5.     {
  6.          for(int i=1; i<=3; i++)
  7.          {
  8.             try
  9.             {
  10.                 int a, b;
  11.                 Scanner s=new Scanner(System.in);
  12.                 System.out.print("請輸入分子: ");
  13.                 a=s.nextInt();
  14.                 System.out.print("請輸入分母: ");
  15.                 b=s.nextInt();
  16.                 System.out.println(a+"/"+b+"="+(a/b)+"\n");
  17.                 return;
  18.             }
  19.             catch(java.lang.ArithmeticException e)
  20.             {
  21.                 System.out.println("運算錯誤  分母不可為零!\n");
  22.             }
  23.             catch(java.util.InputMismatchException e)
  24.             {
  25.                 System.out.println("格式錯誤  輸入需為整數!\n");
  26.             }
  27.             if(i==3)
  28.                 System.out.println("錯誤嘗試過多! 程式跳出!\n");
  29.          }
  30.     }
  31. }
複製代碼

TOP

  1. import java.util.Scanner;
  2. public class ch47
  3. {
  4.     public static void main(String args[])
  5.     {
  6.          for(int i=1; i<=3; i++)
  7.          {
  8.             try
  9.             {
  10.                 int a, b;
  11.                 Scanner s=new Scanner(System.in);
  12.                 System.out.print("請輸入分子: ");
  13.                 a=s.nextInt();
  14.                 System.out.print("請輸入分母: ");
  15.                 b=s.nextInt();
  16.                 System.out.println(a+"/"+b+"="+(a/b)+"\n");
  17.                 return;
  18.             }
  19.             catch(java.lang.ArithmeticException e)
  20.             {
  21.                 System.out.println("運算錯誤! 分母不可為零!\n");
  22.             }
  23.             catch(java.util.InputMismatchException e)
  24.             {
  25.                 System.out.println("格式錯誤! 輸入需為整數!\n");
  26.             }
  27.             if(i==3)
  28.                 System.out.println("錯誤嘗試過多! 程式跳出!\n");
  29.          }
  30.     }
  31. }
複製代碼

TOP

  1. import java.util.Scanner;
  2. public class ch47
  3. {
  4.     public static void main(String args[])
  5.     {
  6.          for(int i=1; i<=3; i++)
  7.          {
  8.             try
  9.             {
  10.                 int a, b;
  11.                 Scanner s=new Scanner(System.in);
  12.                 System.out.print("請輸入分子: ");
  13.                 a=s.nextInt();
  14.                 System.out.print("請輸入分母: ");
  15.                 b=s.nextInt();
  16.                 System.out.println(a+"/"+b+"="+(a/b)+"\n");
  17.                 return;
  18.             }
  19.             catch(java.lang.ArithmeticException e)
  20.             {
  21.                 System.out.println("運算錯誤! 分母不可為零!\n");
  22.             }
  23.             catch(java.util.InputMismatchException e)
  24.             {
  25.                 System.out.println("格式錯誤! 輸入需為整數!\n");
  26.             }
  27.             if(i==3)
  28.                 System.out.println("錯誤嘗試過多! 程式跳出!\n");
  29.          }
  30.     }
  31. }
複製代碼

TOP

  1. import java.util.Scanner;
  2. public class ch46
  3. {
  4.     public static void main(String args[])
  5.     {
  6.       for(ont i=1;i<=3;i++)
  7.       {
  8.         try
  9.         {
  10.             int a, b;
  11.             Scanner s=new Scanner(System.in);
  12.             System.out.print("請輸入分子: ");
  13.             a=s.nextInt();
  14.             System.out.print("請輸入分母: ");
  15.             b=s.nextInt();
  16.             System.out.println(a+"/"+b+"="+(a/b));
  17.         }
  18.         catch(java.lang.ArtithmeticException e)
  19.         {
  20.             System.out.println("運算錯誤 分母不能為零");
  21.         }
  22.         catch(java.util.InputMismatchException e)
  23.         {
  24.             System.out.println("格式錯誤!請輸入整數");
  25.         }
  26.         if(i==3)
  27.             System.out.println("錯誤多次,跳出程式");
  28.       }
  29.     }
  30. }
複製代碼

TOP

  1. import java.util.Scanner;
  2. public class ch47
  3. {
  4.     public static void main(String args[])
  5.     {
  6.          for(int i=1; i<=3; i++)
  7.          {
  8.             try
  9.             {
  10.                 int a, b;
  11.                 Scanner s=new Scanner(System.in);
  12.                 System.out.print("請輸入分子: ");
  13.                 a=s.nextInt();
  14.                 System.out.print("請輸入分母: ");
  15.                 b=s.nextInt();
  16.                 System.out.println(a+"/"+b+"="+(a/b)+"\n");
  17.                 return;
  18.             }
  19.             catch(java.lang.ArithmeticException e)
  20.             {
  21.                 System.out.println("運算錯誤! 分母不可為零!\n");
  22.             }
  23.             catch(java.util.InputMismatchException e)
  24.             {
  25.                 System.out.println("格式錯誤! 輸入需為整數!\n");
  26.             }
  27.             if(i==3)
  28.                 System.out.println("錯誤嘗試過多! 程式跳出!\n");
  29.          }
  30.     }
  31. }
複製代碼

TOP

返回列表