1、声明银行账户类Account (1)包含账号、余额属性,要求属性私有化,提供无参和有参构造,get/set方法(其中balance没有set方法) (2)包含public void withdraw(double money)取款方法,当取款金额为负数时,抛出Exception,异常信息为“越取你余额越多,想得美”,当取款金额超过余额时,抛出Exception,异常信息为“取款金额不足,不支持当前取款操作” (3)包含public void save(double money)存款方法,当取款金额为负数时,抛出Exception,异常信息为“越存余额越少,你愿意吗?” 2、编写测试类,创建账号对象,并调用取款和存款方法,并传入非法参数,测试发生对应的异常。
时间: 2023-11-16 11:07:55 浏览: 309
好的,以下是银行账户类Account的实现代码:
```java
public class Account {
private String accountNo; // 账号
private double balance; // 余额
// 无参构造函数
public Account() {
}
// 有参构造函数
public Account(String accountNo, double balance) {
this.accountNo = accountNo;
this.balance = balance;
}
public String getAccountNo() {
return accountNo;
}
public void setAccountNo(String accountNo) {
this.accountNo = accountNo;
}
public double getBalance() {
return balance;
}
// 取款方法
public void withdraw(double money) throws Exception {
if (money < 0) {
throw new Exception("越取你余额越多,想得美");
}
if (balance < money) {
throw new Exception("取款金额不足,不支持当前取款操作");
}
balance -= money;
}
// 存款方法
public void save(double money) throws Exception {
if (money < 0) {
throw new Exception("越存余额越少,你愿意吗?");
}
balance += money;
}
}
```
以下是测试代码:
```java
public class TestAccount {
public static void main(String[] args) {
Account account = new Account("123456", 1000.0);
try {
account.withdraw(-100.0); // 测试取款金额为负数
} catch (Exception e) {
System.out.println(e.getMessage());
}
try {
account.withdraw(2000.0); // 测试取款金额超过余额
} catch (Exception e) {
System.out.println(e.getMessage());
}
try {
account.save(-100.0); // 测试存款金额为负数
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
```
当输入非法参数时,会抛出相应的异常并输出对应的错误信息。
阅读全文