1. 程式人生 > 其它 >JAVA異常實驗:車站檢查危險品的裝置,如果發現危險品會發出警告。程式設計模擬裝置發現危險品

JAVA異常實驗:車站檢查危險品的裝置,如果發現危險品會發出警告。程式設計模擬裝置發現危險品

技術標籤:JAVA

車站檢查危險品的裝置,如果發現危險品會發出警告。程式設計模擬裝置發現危險品:
編寫能夠滿足如下條件的程式:

  1. 編寫一個Exception的子類DangerException,該子類可以建立異常物件,該異常物件呼叫showMessage()方法輸出“屬於危險品”。
  2. 編寫一個Goods類,其中包括行李名稱和是否為危險品的屬性及對應的設定和獲取方法。
  3. 編寫一個Machine類,其中的checkGoods方法當發現行李為危險品時將丟擲DangerException異常。
  4. 在主類的main()方法中定義n件行李,隨機產生其是否為危險品的屬性,並使用try-catch語句讓Machine類的例項呼叫checkGoods方法進行異常處理。

簡述

總共有四個類,分別是

  1. 異常類DangerException extends Exception
  2. 裝置Goods
  3. 機器Machine
  4. 主類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());
	}
}
}
}

輸出結果在這裡插入圖片描述