编写一个程序,完成从某账户取款和存款的操作。 1)输人存取款金额时,如果非数值型,捕获异常并进行处理(系统异常)。 2)操作账户类时,如果取款数大于余额则作为异常处理(自定义异常)JAVA
时间: 2024-10-21 21:16:06 浏览: 94
在Java中编写一个简单的银行账户操作类,我们可以创建一个`BankAccount`类,包括私有变量如`balance`来存储账户余额,并提供`deposit`和`withdraw`方法来实现存款和取款操作。同时,我们将使用`try-catch`块来处理可能出现的异常。
```java
class BankAccount {
private double balance;
public BankAccount(double initialBalance) {
this.balance = initialBalance;
}
// 存款方法
public void deposit(double amount) {
try {
if (amount <= 0) {
throw new IllegalArgumentException("存款金额必须大于零");
}
balance += amount;
System.out.println("存款成功,当前余额为: " + balance);
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
}
// 取款方法
public void withdraw(double amount) {
try {
if (amount <= 0 || amount > balance) {
throw new InsufficientFundsException("取款金额错误或余额不足");
}
balance -= amount;
System.out.println("取款成功,当前余额为: " + balance);
} catch (InsufficientFundsException e) {
System.out.println(e.getMessage());
} catch (NumberFormatException e) { // 捕获非数字输入异常
System.out.println("请输入正确的数值");
}
}
}
// 自定义异常类
class InsufficientFundsException extends Exception {
public InsufficientFundsException(String message) {
super(message);
}
}
```
在这个例子中,用户需要输入合法的数值进行存款和取款操作。如果输入非数值或者取款金额超出余额,程序会抛出相应的异常并捕获处理。
阅读全文