JAVA異常實驗:車站檢查危險品的裝置,如果發現危險品會發出警告。程式設計模擬裝置發現危險品
阿新 • • 發佈:2020-12-22
技術標籤:JAVA
車站檢查危險品的裝置,如果發現危險品會發出警告。程式設計模擬裝置發現危險品:
編寫能夠滿足如下條件的程式:
- 編寫一個Exception的子類DangerException,該子類可以建立異常物件,該異常物件呼叫showMessage()方法輸出“屬於危險品”。
- 編寫一個Goods類,其中包括行李名稱和是否為危險品的屬性及對應的設定和獲取方法。
- 編寫一個Machine類,其中的checkGoods方法當發現行李為危險品時將丟擲DangerException異常。
- 在主類的main()方法中定義n件行李,隨機產生其是否為危險品的屬性,並使用try-catch語句讓Machine類的例項呼叫checkGoods方法進行異常處理。
簡述
總共有四個類,分別是
- 異常類DangerException extends Exception
- 裝置Goods
- 機器Machine
- 主類Main
DangerException
//定義異常類DangerException
public class DangerException extends Exception{
String message;
DangerException(String n)
{
message=n+"屬於危險品";
//在Machine類中進行檢測時會傳回被檢測裝置的good.name,和字串"屬於危險品"共同構成message
}
String showMessage()
{
return message;
//在main()中呼叫並輸出showmessage(),最終輸出的結果應該是“裝置名稱屬於危險品”。
}
}
Goods
//定義裝置類Goods
public class Goods {
String name;//裝置名
boolean isDanger;//裝置危險值,“true”代表裝置是危險品
boolean IsDanger()
{
return isDanger;
}
void SetDanger(boolean TorF)
{
isDanger=TorF;//用傳入的危險值來設定裝置
}
String GetName()
{
return name;
}
void SetName(String s)
{
name=s;
}
}
Machine
//定義機器類Machine
public class Machine {
void check(Goods good) throws DangerException
{
if (good.isDanger==true)//進行判斷,若裝置名是約定的危險裝置,則將危險值設為“true”
{
throw new DangerException(good.name);//丟擲異常,在main()進行try-catch處理
}
}
}
Main
*事先約定進行檢測的裝置有哪些,並且約定哪種裝置是危險品。本題中共有“手機”,“電腦”,“耳機”,“刀”,“炸藥”五種裝置,其中“刀”和“炸藥”屬於危險品。
//定義主類Main
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Machine machine=new Machine();
String [] str= {"手機","電腦","耳機","刀","炸藥"};
Goods good=new Goods();
for(int i=0;i<str.length;i++)
{
good.SetName(str[i]);//設定裝置名,用於進行判斷以及輸出結果
if (good.GetName()=="刀"||good.GetName()=="炸藥")//判斷裝置是否是“刀”或者“炸藥”,如果是,則屬於危險品
good.SetDanger(true);
try
{
machine.check(good);
}
catch(DangerException e)
{
System.out.println(e.showMessage());
}
}
}
}