Java 编程模拟危险品检测设备:异常处理与商品检查
Java 编程模拟危险品检测设备:异常处理与商品检查
本文将通过 Java 编程模拟一个危险品检测设备,该设备可以检查商品是否属于危险品,并通过异常处理机制来处理检测结果。
编程要求:
- 通过继承
Exception类,编写一个DangerException类,该异常类在构造方法中使用super调用父类构造方法,并使用字符串 '属于危险品!' 对父类变量message进行初始化。 - 编写商品类
Goods,该类包含商品名称 (name) 和是否为危险品 (isDanger) 属性,并提供相应的get和set方法。 - 编写一个
Machine类,该类包含checkBag(Goods goods)方法,当发现参数goods是危险品时(即goods的isDanger属性为true),该方法抛出DangerException异常的对象。 - 编写主类
Check,在其main方法中创建商品对象,并使用Machine对象检查商品。
代码实现:
import java.util.Arrays;
class DangerException extends Exception {
public DangerException() {
super('属于危险品!');
}
}
class Goods {
private String name;
private boolean isDanger;
public Goods(String name, boolean isDanger) {
this.name = name;
this.isDanger = isDanger;
}
public String getName() {
return name;
}
public boolean isDanger() {
return isDanger;
}
}
class Machine {
public void checkBag(Goods goods) throws DangerException {
if (goods.isDanger()) {
throw new DangerException();
}
}
}
public class Check {
public static void main(String args[]) {
String[] name = {'苹果', '炸药', '西服', '硫酸', '手表', '硫磺'}; // 商品名称
Goods[] goods = new Goods[name.length]; // 检查6件物品
// 创建商品对象
for (int i = 0; i < name.length; i++) {
boolean isDanger = Arrays.asList('炸药', '硫酸', '硫磺').contains(name[i]);
goods[i] = new Goods(name[i], isDanger);
}
// 检查商品
Machine machine = new Machine();
for (Goods item : goods) {
try {
machine.checkBag(item);
System.out.println(item.getName() + ' 不是危险品');
} catch (DangerException e) {
System.out.println(item.getName() + ' 是危险品');
}
}
}
}
代码说明:
DangerException类继承自Exception类,并使用构造方法将 '属于危险品!' 传递给父类构造方法。Goods类包含商品名称 (name) 和是否为危险品 (isDanger) 属性,并提供了相应的get和set方法。Machine类中的checkBag方法检查商品是否为危险品,如果是则抛出DangerException异常。Check类中的main方法创建商品对象,并使用Machine对象检查商品,使用try-catch块捕获DangerException异常,并输出检测结果。
运行结果:
苹果 不是危险品
炸药 是危险品
西服 不是危险品
硫酸 是危险品
手表 不是危险品
硫磺 是危险品
总结:
本文通过 Java 编程模拟了一个危险品检测设备,并使用自定义异常类 DangerException 来处理检测结果。该程序展示了 Java 异常处理机制的使用,以及自定义类和方法的使用。开发者可以通过该程序学习 Java 的异常处理机制,并将其应用到实际的软件开发中。
原文地址: https://www.cveoy.top/t/topic/pjWc 著作权归作者所有。请勿转载和采集!