自定义异常类BNEException。编写帐户类Account,属性包括帐号和余额;方法包括存钱方法save(double d),增加收入后,打印输出余额;取钱方法pay(double d),减少收入后,打印输出余额,当余额小于0时,抛出余额不足的异常BNEException。编写测试类,创建Account的对象,并且调用该对象的save和pay方法。
时间: 2024-04-14 10:28:19 浏览: 177
好的,下面是使用Java实现的代码:
```java
class BNEException extends Exception {
public BNEException(String message) {
super(message);
}
}
class Account {
private String accountNumber;
private double balance;
public Account(String accountNumber, double balance) {
this.accountNumber = accountNumber;
this.balance = balance;
}
public void save(double amount) {
balance += amount;
System.out.println("Balance after saving: " + balance);
}
public void pay(double amount) throws BNEException {
balance -= amount;
if (balance < 0) {
throw new BNEException("Insufficient balance");
}
System.out.println("Balance after payment: " + balance);
}
}
public class Test {
public static void main(String[] args) {
try {
Account account = new Account("123456789", 1000);
account.save(500);
account.pay(200);
account.pay(1500); // Throws BNEException
} catch (BNEException e) {
System.out.println("Exception: " + e.getMessage());
}
}
}
```
在这个例子中,我们首先创建了一个`BNEException`类,它是自定义的异常类,继承自`Exception`。然后,我们创建了一个`Account`类,该类具有两个属性:帐号(`accountNumber`)和余额(`balance`)。在`Account`类中,我们定义了`save(double amount)`方法用于存钱,增加收入后打印输出余额;以及`pay(double amount)`方法用于取钱,减少收入后打印输出余额。在`pay(double amount)`方法中,如果余额小于0,则抛出自定义的异常`BNEException`。
在测试类`Test`中,我们创建了一个`Account`对象,并调用了`save`和`pay`方法来测试。在第一个`pay`方法调用后,余额将变为800,第二个`pay`方法调用后,余额将变为-700,这时会抛出`BNEException`异常。我们在测试类中使用`try-catch`块来捕获并处理该异常,打印出异常信息。
控制台输出结果为:
```
Balance after saving: 1500.0
Balance after payment: 1300.0
Exception: Insufficient balance
```