要求:乘坐公交车时的刷卡操作。定义公交卡类,若刷卡金额大于余额,则作为异常处理。 步骤: (1)产生异常的条件是余额少于刷卡金额,是否抛出异常要先对该条件做判断,确定产生异常的方法,在刷卡方法中产生异常。 (2)处理异常安排在调用刷卡方法中,刷卡方法抛出异常,由上一级调用方法捕获并处理。 (3)定义异常。 Java实现
时间: 2023-12-28 19:03:23 浏览: 77
下面是一个简单的公交卡类实现,包含了刷卡操作和异常处理:
```
public class BusCard {
private double balance;
public BusCard(double balance) {
this.balance = balance;
}
public double getBalance() {
return balance;
}
public void swipe(double amount) throws NotEnoughBalanceException {
if (amount > balance) {
throw new NotEnoughBalanceException("Not enough balance!");
}
balance -= amount;
}
}
```
在刷卡方法中,我们先判断余额是否足够,如果不够则抛出自定义的异常 `NotEnoughBalanceException`。异常类定义如下:
```
public class NotEnoughBalanceException extends Exception {
public NotEnoughBalanceException(String message) {
super(message);
}
}
```
在调用刷卡方法时,需要使用 try-catch 块来捕获并处理异常:
```
public static void main(String[] args) {
BusCard card = new BusCard(20.0);
try {
card.swipe(30.0);
System.out.println("Swipe success! Balance: " + card.getBalance());
} catch (NotEnoughBalanceException e) {
System.out.println("Swipe failed: " + e.getMessage());
}
}
```
在上述示例中,我们尝试刷卡 30 元,而卡上只有 20 元余额,所以会抛出 `NotEnoughBalanceException` 异常,并在 catch 块中打印异常信息。如果余额足够,刷卡操作就会成功,并打印当前余额。
阅读全文