车站检查危险品的设备,如果发现危险品会发出警告。编程模拟设备发现危险品:
编写能够满足如下条件的程序:
- 编写一个Exception的子类DangerException,该子类可以创建异常对象,该异常对象调用showMessage()方法输出“属于危险品”。
- 编写一个Goods类,其中包括行李名称和是否为危险品的属性及对应的设置和获取方法。
- 编写一个Machine类,其中的checkGoods方法当发现行李为危险品时将抛出DangerException异常。
- 在主类的main()方法中定义n件行李,随机产生其是否为危险品的属性,并使用try-catch语句让Machine类的实例调用checkGoods方法进行异常处理。
简述
总共有四个类,分别是
- 异常类DangerException extends Exception
- 设备Goods
- 机器Machine
- 主类Main
DangerException
//定义异常类DangerExceptionpublicclassDangerExceptionextendsException{
String message;DangerException(String n){
message=n+"属于危险品";//在Machine类中进行检测时会传回被检测设备的good.name,和字符串"属于危险品"共同构成message}
String showMessage(){return message;//在main()中调用并输出showmessage(),最终输出的结果应该是“设备名称属于危险品”。}}
Goods
//定义设备类GoodspublicclassGoods{
String name;//设备名
boolean isDanger;//设备危险值,“true”代表设备是危险品
boolean IsDanger(){return isDanger;}voidSetDanger(boolean TorF){
isDanger=TorF;//用传入的危险值来设置设备}
String GetName(){return name;}voidSetName(String s){
name=s;}}
Machine
//定义机器类MachinepublicclassMachine{voidcheck(Goods good) throws DangerException
{if(good.isDanger==true)//进行判断,若设备名是约定的危险设备,则将危险值设为“true”{thrownewDangerException(good.name);//抛出异常,在main()进行try-catch处理}}}
Main
*事先约定进行检测的设备有哪些,并且约定哪种设备是危险品。本题中共有“手机”,“电脑”,“耳机”,“刀”,“炸药”五种设备,其中“刀”和“炸药”属于危险品。
//定义主类MainpublicclassMain{publicstaticvoidmain(String[] args){// TODO Auto-generated method stub
Machine machine=newMachine();
String [] str={"手机","电脑","耳机","刀","炸药"};
Goods good=newGoods();for(int i=0;i<str.length;i++){
good.SetName(str[i]);//设定设备名,用于进行判断以及输出结果if(good.GetName()=="刀"||good.GetName()=="炸药")//判断设备是否是“刀”或者“炸药”,如果是,则属于危险品
good.SetDanger(true);else good.SetDanger(false);try{
machine.check(good);}catch(DangerException e){
System.out.println(e.showMessage());}}}}
输出结果
本文转载自: https://blog.csdn.net/qq_31744851/article/details/111501674
版权归原作者 Coke Or Pepsi 所有, 如有侵权,请联系我们删除。
版权归原作者 Coke Or Pepsi 所有, 如有侵权,请联系我们删除。