6-2 异常:物品安全检查 (20分) java pta

这是函数题模板。这里写题目要求。 车站检查危险品的设备,如果发现危险品会发出警告。编程模拟设备发现危险品的情况。编程要求如下: 1. 通过继承Exception类,编写一个DangerException类。 a) 该异常类有构造方法,该构造方法使用super调用父类构造方法,使用字符串:“属于危险品!”,对父类变量message进行初始化。 2. 编写商品类:Goods,该类包含以下成员: a) 私有的name属性(String类型),表示商品名称。 b) 私有的isDanger属性(boolean型),表示商品是否为危险品,如果为危险品,则值为true,否则为fales。 c) 分别为两个私有变量编写set和get方法 3. 编写一个Machine类,该类的方法checkBag(Goods goods)。当发现参数goods是危险品时,即:goods的isDanger属性为true时,该方法抛出DangerException异常的对象。 4. 编写主类Check,在其main方法中创建创建商品对象,并使用Machine对象检查商品。

函数接口定义:

裁判测试程序样例:

public class Main {
	   public static void main(String args[]) {	      
	      String[] name ={"苹果","炸药","西服","硫酸","手表","硫磺"};			      
	      Goods[] goods = new Goods[name.length]; 				 
	      for(int i= 0;i<name.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]);
	         } 
	      }	      
	      Machine machine = new Machine();
	      for(int i= 0;i<goods.length;i++) {
	    	  System.out.print(goods[i].getName());
	    	  try { 
	    		  machine.checkBag(goods[i]);
	    		  System.out.println(",检查通过\n");
	    	  }catch(DangerException e) {
	    		  System.out.println(e.getMessage());
	    		  System.out.println(goods[i].getName()+",被禁止!\n"); 
	    	  }
	      }     
	   } 
}

/* 请在这里填写答案 */

输入样例:

在这里给出一组输入。例如:

输出样例:

在这里给出相应的输出。例如:

苹果,检查通过
炸药属于危险品!
炸药,被禁止!
西服,检查通过
硫酸属于危险品!
硫酸,被禁止!
手表,检查通过
硫磺属于危险品!
硫磺,被禁止!

class DangerException extends Exception{
	String message;
	DangerException(){
		super("属于危险品!");
	}
}

class Goods{
	private String name;
	private boolean isDanger;
	void setDanger(boolean isDanger) {
		this.isDanger=isDanger;
	}
	void setName(String name) {
		this.name=name;
	}
	boolean getDanger() {
		return isDanger;
	}
	String getName() {
		return name;
	}
}

class Machine{
	void checkBag(Goods goods) throws DangerException {
		if(goods.getDanger()==true) {
			throw new DangerException();
		}
	}
}

版权声明:本文为m0_46553277原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。