Board logo

標題: 例外處理 (六) [打印本頁]

作者: tonyh    時間: 2015-1-17 17:22     標題: 例外處理 (六)

拋出自行定義的例外類別.
  1. import java.util.*;
  2. public class ch54
  3. {
  4.     public static void main(String args[]) throws BodyException   //若要拋出自行定義的例外類別, 需在此註名
  5.     {
  6.         for(;;)   //while(true)
  7.         {
  8.             float h,w;
  9.             Scanner s=new Scanner(System.in);
  10.             try
  11.             {
  12.                 System.out.print("請輸入你的身高(公分): ");
  13.                 h=(s.nextFloat())/100;
  14.                 if(h*100<50 || h*100>220)
  15.                       throw new BodyException();
  16.                 System.out.print("請輸入你的體重(公斤): ");
  17.                 w=s.nextFloat();
  18.                 if(w<20 || w>200)
  19.                       throw new BodyException();
  20.                 System.out.println("你的BMI值為: "+w/(h*h));
  21.                 return;
  22.             }catch(InputMismatchException e)
  23.             {
  24.                 System.out.println("請輸入數字!");
  25.             }catch(BodyException e)
  26.             {
  27.                 System.out.println("請輸入合理範圍內的身高或體重!");
  28.             }
  29.         }
  30.     }
  31. }
  32. class BodyException extends Exception  //建立一個名為BodyException的類別, 繼承自Exception類別
  33. {
  34.     public BodyException()   //建構子
  35.     {
  36.         super();    //呼叫父類別的建構子
  37.     }
  38. }
複製代碼

作者: 李允軒    時間: 2015-1-17 17:24

  1. import java.util.*;
  2. public class ch52
  3. {
  4.     public static void main(String args[]) throws BodyException
  5.     {
  6.         for(;;)
  7.         {
  8.             float h,w;
  9.             Scanner s=new Scanner(System.in);
  10.             try
  11.             {
  12.                 System.out.print("請輸入你的身高(公分): ");
  13.                 h=(s.nextFloat())/100;
  14.                 if(h*100<50 || h*100>220)
  15.                       throw new BodyException();
  16.                 System.out.print("請輸入你的體重(公斤): ");
  17.                 w=s.nextFloat();
  18.                 if(w<20 || w>200)
  19.                       throw new BodyException();
  20.                 System.out.println("你的BMI值為: "+w/(h*h));
  21.                 return;
  22.             }catch(InputMismatchException e)
  23.             {
  24.                 System.out.println("請輸入數字!");
  25.             }catch(BodyException e)
  26.             {
  27.                 System.out.println("請輸入合理範圍內的身高或體重!");
  28.             }
  29.         }
  30.     }
  31. }
  32. class BodyException extends Exception
  33. {
  34.     public BodyException()
  35.     {
  36.         super();
  37.     }
  38. }
複製代碼

作者: 張郁庭    時間: 2015-1-17 17:25

  1. import java.util.*;
  2. public class ch54
  3. {
  4.     public static void main(String args[]) throws BodyException
  5.     {
  6.         for(;;)
  7.         {
  8.             float h,w;
  9.             Scanner s=new Scanner(System.in);
  10.             try
  11.             {
  12.                 System.out.print("請輸入你的身高(公分): ");
  13.                 h=(s.nextFloat())/100;
  14.                 if(h*100<50 || h*100>220)
  15.                       throw new BodyException();
  16.                 System.out.print("請輸入你的體重(公斤): ");
  17.                 w=s.nextFloat();
  18.                 if(w<20 || w>200)
  19.                       throw new BodyException();
  20.                 System.out.println("你的BMI值為: "+w/(h*h));
  21.                 return;
  22.             }catch(InputMismatchException e)
  23.             {
  24.                 System.out.println("請輸入數字!");
  25.             }catch(BodyException e)
  26.             {
  27.                 System.out.println("請輸入合理範圍內的身高或體重!");
  28.             }
  29.         }
  30.     }
  31. }
  32. class BodyException extends Exception
  33. {
  34.     public BodyException()
  35.     {
  36.         super();
  37.     }
  38. }
複製代碼

作者: 周雍程    時間: 2015-1-17 17:27

  1. import java.util.*;
  2. public class ch54
  3. {
  4.     public static void main(String args[]) throws BodyException   //若要拋出自行定義的例外類別, 需在此註名
  5.     {
  6.         for(;;)   //while(true)
  7.         {
  8.             float h,w;
  9.             Scanner s=new Scanner(System.in);
  10.             try
  11.             {
  12.                 System.out.print("請輸入你的身高(公分): ");
  13.                 h=(s.nextFloat())/100;
  14.                 if(h*100<50 || h*100>220)
  15.                       throw new BodyException();
  16.                 System.out.print("請輸入你的體重(公斤): ");
  17.                 w=s.nextFloat();
  18.                 if(w<20 || w>200)
  19.                       throw new BodyException();
  20.                 System.out.println("你的BMI值為: "+w/(h*h));
  21.                 return;
  22.             }catch(InputMismatchException e)
  23.             {
  24.                 System.out.println("請輸入數字!");
  25.             }catch(BodyException e)
  26.             {
  27.                 System.out.println("請輸入合理範圍內的身高或體重!");
  28.             }
  29.         }
  30.     }
  31. }
  32. class BodyException extends Exception  //建立一個名為BodyException的類別, 繼承自Exception類別
  33. {
  34.     public BodyException()   //建構子
  35.     {
  36.         super();    //呼叫父類別的建構子
  37.     }
  38. }
複製代碼

作者: 劉得恩    時間: 2015-1-17 17:31

  1. import java.util.*;
  2. import javax.swing.*;
  3. import java.awt.*;
  4. public class ch54
  5. {
  6.     public static void main(String args[]) throws BodyException   //若要拋出自行定義的例外類別, 需在此註名
  7.     {
  8.         for(;;)   //while(true)
  9.         {
  10.             float h,w;
  11.             Scanner s=new Scanner(System.in);
  12.             try
  13.             {
  14.                 System.out.print("請輸入你的身高(公分): ");
  15.                 h=(s.nextFloat())/100;
  16.                 if(h*100<50 || h*100>220)
  17.                       throw new BodyException();
  18.                 System.out.print("請輸入你的體重(公斤): ");
  19.                 w=s.nextFloat();
  20.                 if(w<20 || w>200)
  21.                       throw new BodyException();
  22.                 System.out.println("你的BMI值為: "+w/(h*h));
  23.                 return;
  24.             }catch(InputMismatchException e)
  25.             {
  26.                 System.out.println("請輸入數字!");
  27.             }catch(BodyException e)
  28.             {
  29.                 e.run();
  30.             }
  31.         }
  32.     }
  33. }
  34. class BodyException extends Exception  
  35. {
  36.     public BodyException()   
  37.     {
  38.         super();   
  39.     }
  40.         public void run()
  41.         {
  42.                 JFrame f=new JFrame("Error");
  43.                 JButton bnt=new JButton("OK");
  44.                 f.setSize(120,100);
  45.                 f.getContentPane().add(bnt,BorderLayout.CENTER);
  46.                 f.setVisible(true);
  47.         }
  48. }
複製代碼

作者: 林宇翔    時間: 2015-1-17 17:35

  1. import java.util.*;
  2. public class ch54
  3. {
  4.     public static void main(String args[]) throws BodyException
  5.     {
  6.         for(;;)
  7.         {
  8.             float h,w;
  9.             Scanner s=new Scanner(System.in);
  10.             try
  11.             {
  12.                 System.out.print("請輸入你的身高(公分): ");
  13.                 h=(s.nextFloat())/100;
  14.                 if(h*100<50 || h*100>220)
  15.                       throw new BodyException();
  16.                 System.out.print("請輸入你的體重(公斤): ");
  17.                 w=s.nextFloat();
  18.                 if(w<20 || w>200)
  19.                       throw new BodyException();
  20.                 System.out.println("你的BMI值為: "+w/(h*h));
  21.                 return;
  22.             }catch(InputMismatchException e)
  23.             {
  24.                 System.out.println("請輸入數字!");
  25.             }catch(BodyException e)
  26.             {
  27.                 System.out.println("你是外星人?");
  28.             }
  29.         }
  30.     }
  31. }
  32. class BodyException extends Exception
  33. {
  34.     public BodyException()
  35.     {
  36.         super();
  37.     }
  38. }
複製代碼

作者: 張彥承    時間: 2015-1-20 20:25

  1. import java.util.*;
  2. public class ch52
  3. {
  4.     public static void main(String args[]) throws BodyException
  5.     {
  6.         for(;;)
  7.         {
  8.             float h,w;
  9.             Scanner s=new Scanner(System.in);
  10.             try
  11.             {
  12.                 System.out.print("請輸入你的身高(公分): ");
  13.                 h=(s.nextFloat())/100;
  14.                 if(h*100<50 || h*100>220)
  15.                       throw new BodyException();
  16.                 System.out.print("請輸入你的體重(公斤): ");
  17.                 w=s.nextFloat();
  18.                 if(w<20 || w>200)
  19.                       throw new BodyException();
  20.                 System.out.println("你的BMI值為: "+w/(h*h));
  21.                 return;
  22.             }catch(InputMismatchException e)
  23.             {
  24.                 System.out.println("請輸入數字!");
  25.             }catch(BodyException e)
  26.             {
  27.                 System.out.println("請輸入合理範圍內的身高或體重!");
  28.             }
  29.         }
  30.     }
  31. }
  32. class BodyException extends Exception
  33. {
  34.     public BodyException()
  35.     {
  36.         super();
  37.     }
  38. }
複製代碼

作者: 張峻瑋    時間: 2015-1-21 20:23

  1. import java.util.*;
  2. public class ch54
  3. {
  4.     public static void main(String args[])throws BodyException
  5.     {
  6.         for(;;)
  7.         {
  8.             try
  9.             {
  10.                 Scanner s=new Scanner(System.in);
  11.                 float h,w;
  12.                 System.out.print("請輸入你的身高(cm): ");
  13.                 h=(s.nextFloat())/100;
  14.                 if(h*100<50 || h*100>220)
  15.                     throw new BodyException();
  16.                 System.out.print("請輸入你的體重(kg): ");
  17.                 w=s.nextFloat();
  18.                 if(w<20 || w>200)
  19.                     throw new BodyException();
  20.                 System.out.println("你的BMI值為: "+w/(h*h));
  21.                 return;
  22.             }
  23.             catch(InputMismatchException e)
  24.             {
  25.                 System.out.println("請輸入數字!");
  26.             }
  27.             catch(BodyException e)
  28.             {
  29.                 System.out.println("請輸入合理範圍內的身高或體重!");
  30.             }
  31.         }
  32.     }
  33. }
  34. class BodyException extends Exception
  35. {
  36.     public BodyException()
  37.     {
  38.         super();
  39.     }
  40. }
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/) Powered by Discuz! 7.2