標題:
例外處理 (六) - 自訂例外類別2
[打印本頁]
作者:
鄭繼威
時間:
2023-8-2 15:10
標題:
例外處理 (六) - 自訂例外類別2
本帖最後由 鄭繼威 於 2023-8-2 21:07 編輯
試
自訂一名為 MyException 的例外類別
, 使在 BMI 值的計算程式中, 當
使用者輸入的身高或體重數值不合常理時, 自行拋出該類別的例外物件
, 並且使用 try...catch 語法,
如果 catch 到該類別的例外物件
, 則回應 "請輸入合理的身高! (或體重)".
當然, 其他的例外物件也要能 catch 到
, 譬如如果 catch 到 InputMismatchException 則回應 "請輸入數字!"
合理身高:50~250
合理體重:6~250
BMI = 體重(公斤) / 身高2(公尺2).
import java.util.*;
public class Ch01
{
public static void main(String args[])
{
while(true)
{
try
{
double h,w,bmi;
Scanner s=new Scanner(System.in);
System.out.print("請輸入你的身高(公分): ");
h=s.nextDouble();
if(h<50 || h>250)
throw new MyException("請輸入合理的身高!");
System.out.print("請輸入你的體重(公斤): ");
w=s.nextDouble();
if(w<5 || w>250)
throw new MyException("請輸入合理的體重!");
bmi = w / ((h/100) * (h/100));
System.out.println("你的BMI值為: "+bmi);
}catch(InputMismatchException e)
{
System.out.println("請輸入數字!");
}catch(MyException e)
{
System.out.println(e.getMessage());
}
System.out.println();
}
}
}
class MyException extends Exception //繼承
{
MyException(String str) //建構子
{
super(str);
}
}
複製代碼
作者:
李彣
時間:
2023-8-2 20:57
此帖僅作者可見
作者:
黃裕恩
時間:
2023-8-2 21:01
此帖僅作者可見
作者:
林劭澧
時間:
2023-8-2 21:04
此帖僅作者可見
作者:
林劭杰
時間:
2023-8-2 21:06
此帖僅作者可見
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2