程序在主类的 main()方法中的 try-catch 语句的 try 部分让 Machine 类的实例调用 checkBag (Goods goods)方法,如果发现危险品就在 try-catch 语句的 catch 部分处理危险品。
时间: 2024-04-30 22:22:49 浏览: 107
以下是示例代码:
```java
public class Main {
public static void main(String[] args) {
Machine machine = new Machine();
Goods goods = new Goods("book");
try {
machine.checkBag(goods);
System.out.println("Passenger allowed to board.");
} catch (DangerousGoodsException e) {
System.out.println("Dangerous goods found: " + e.getGoods().getName());
System.out.println("Passenger not allowed to board.");
}
}
}
class Goods {
private String name;
public Goods(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
class DangerousGoodsException extends Exception {
private Goods goods;
public DangerousGoodsException(Goods goods) {
this.goods = goods;
}
public Goods getGoods() {
return goods;
}
}
class Machine {
public void checkBag(Goods goods) throws DangerousGoodsException {
if (goods.getName().equals("gun") || goods.getName().equals("explosive")) {
throw new DangerousGoodsException(goods);
}
}
}
```
在主类的 main() 方法中,先创建了一个 Machine 实例和一个 Goods 实例。然后在 try 部分调用 Machine 类的 checkBag() 方法,传入 Goods 实例作为参数。如果在 checkBag() 方法中发现危险品,就会抛出 DangerousGoodsException 异常。在 catch 部分捕获这个异常,输出发现的危险品的名称以及提示乘客不允许登机。如果没有发现危险品,就输出提示乘客可以登机。
阅读全文