危险品(java)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/suguoliang/article/details/79931168

危险品

题目描述
 
   
车站检查危险品的设备,如果发现危险品会发出警告。编程模拟设备发现危险品。a. 编写一个Exception的子类DangerException,该子类可以创建异常对象,该异常对象调用toShow()方法输出“属于危险品”。b. 编写一个Machine类,该类的方法checkBag(Goods goods)当发现参数goods是危险品时(goods的isDanger属性是true)将抛出DangerException异常。c. 程序在主类的main()方法中的try-catch语句的try部分让Machine类的实例调用checkBag(Goods goods)方法,如果发现危险品就在try-catch语句的catch部分处理危险品。d. 请按模板要求,将【代码】替换为java程序代码。class Goods {private boolean isDanger;private String name;public 【代码1】 isDanger() {return isDanger;}【代码2】 void setDanger(boolean isDanger) {this.isDanger = isDanger;}public String getName() {return name;}public 【代码3】 setName(String name) {this.name = name;}}class DangerException 【代码4】 {String message;public DangerException() {message = "危险品";}public void toShow() {System.out.println(message + " ");}}class Machine {public void checkBag(Goods goods) 【代码5】 DangerException {if (goods.isDanger()) {DangerException danger = new DangerException();【代码6】//抛出danger} else {System.out.println(goods.getName() + "不是危险品");}}}public class Main {public static void main(String[] args) {Machine machine = new Machine();String[] name = { "苹果", "炸药", "西服", "硫酸", "手表", "硫磺" };Goods[] goods = new Goods[name.length];for (int i = 0; i < goods.length; i++) {goods[i] = new Goods();if (i % 2 == 0) {goods[i].setDanger(false);goods[i].setName(name[i]);} else {goods[i].setDanger(true);goods[i].setName(name[i]);}}for (int i = 0; i < goods.length; i++) {try {machine.checkBag(goods[i]);System.out.println(goods[i].getName() + "检查通过");} catch (DangerException e) {【代码7】//e调用toshow()方法System.out.println(goods[i].getName() + "被禁止!");}}}}
 
输出样例
 
   
苹果不是危险品苹果检查通过危险品 炸药被禁止!西服不是危险品西服检查通过危险品 硫酸被禁止!手表不是危险品手表检查通过危险品

硫磺被禁止!

class Goods {
	private boolean isDanger;
	private String name;

	public boolean isDanger() {
		return isDanger;
	}

	public void setDanger(boolean isDanger) {
		this.isDanger = isDanger;
	}

	public String getName() {
		return name;
	}

	public void  setName(String name) {
		this.name = name;
	}
}


class DangerException extends Exception  {
	String message;
	public  DangerException() {
		message = "危险品";
	}

	public void toShow() {
		System.out.println(message + " ");
	}
}

class Machine {
	public void checkBag(Goods goods) throws DangerException {
		if (goods.isDanger()==true) {
			DangerException danger = new DangerException();
		   // System.out.println(danger.message);
			throw new DangerException();
			////throw new  Exception(danger);//抛出danger
		} else {
			System.out.println(goods.getName() + "不是危险品");
		}
	}
}

public class Main {

	public static void main(String[] args){
		Machine machine = new Machine();
		String[] name = { "苹果", "炸药", "西服", "硫酸", "手表", "硫磺" };
		Goods[] goods = new Goods[name.length];
		for (int i = 0; i < goods.length; i++) {
			goods[i] = new Goods();
			if (i % 2 == 0) {
				goods[i].setDanger(false);
				goods[i].setName(name[i]);
			} else {
				goods[i].setDanger(true);
				goods[i].setName(name[i]);
			}
		}
		for (int i = 0; i < goods.length; i++) {
			try {
				machine.checkBag(goods[i]);
				System.out.println(goods[i].getName() + "检查通过");
			} catch (DangerException e) {
				e.toShow();//((Exception) e).toShow();//【代码7】//e调用toshow()方法
				System.out.println(goods[i].getName() + "被禁止!");

			}
		}

	}

}

猜你喜欢

转载自blog.csdn.net/suguoliang/article/details/79931168