Board logo

標題: [作業] 例外處理 (六) - 自訂例外類別2 [打印本頁]

作者: 葉桔良    時間: 2021-11-6 02:29     標題: [作業] 例外處理 (六) - 自訂例外類別2

本帖最後由 葉桔良 於 2022-9-23 21:12 編輯

試自訂一名為 BodyException 的例外類別, 使在 BMI 值的計算程式中, 當使用者輸入的身高或體重數值不合常理時, 自行拋出該類別的例外物件, 並且使用 try...catch 語法, 如果 catch 到該類別的例外物件, 則回應 "請輸入合理範圍內的身高或體重!". 當然, 其他的例外物件也要能 catch 到, 譬如如果 catch 到 InputMismatchException 則回應 "請輸入數字!"

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

作者: 王儀華    時間: 2022-5-13 20:31

此帖僅作者可見
作者: 李泳霖    時間: 2022-6-29 17:13

此帖僅作者可見
作者: 朱嚴寘    時間: 2022-7-6 21:19

此帖僅作者可見
作者: 若晴    時間: 2022-9-23 21:17

此帖僅作者可見




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