创建 OverdraftException 类1. 建立一个共有类 OverdraftException.
这个类扩展RuntimeException 类。2. 添加一个 double 类型的私有属性 deficit.增加一个共有访问方法
getDeficit3. 添加一个有两个参数的共有构造器。deficit 参数初始化 deficit 属性 修改 Account
类4. 重写 withdraw 方法使它不返回值(即 void).5.
修改代码抛出新异常,指明“资金不足”以及不足数额(当前余额扣除请求的数额)修改 CheckingAccount 类6. 重写 withdraw
方法使它不返回值(即 void)7.
修改代码使其在需要时抛出异常。两种情况要处理:第一是存在没有透支保护的赤字,对这个异常使用“没有透支保护”信息。第二是
overdraftProtection 数额不足以弥补赤字:对这个异常可使用 ”透支保护资金不足”信息输入输入描述:输入姓名,余额初值,利率,支票余额,透支额度,取款额,存款额;名字,支票余额,取款额,存款额输出输出描述:输出个各账户支票账户交易记录和余额样例输入赵先生 500 0.05 200 500 470 100李女士 200 500 100样例输出客户 [赵先生] 支票账户余额: 200.0 和透支额度500.0取款 : 470.0存款 : 100.0客户 [赵先生] 支票账户余额: 100.0客户 [李女士] 支票账户余额: 200.0取款: 500.0异常: 没有透支保护 赤字: 300.0客户 [李女士] 支票账户余额: 200.0主程序如下:public class Main { public static void main(String[] args)
{ Bank7 bank =
Bank7.getBank(); Customer7
customer; Account7
account; java.util.Scanner s =
new java.util.Scanner(System.in);
String name=s.next(); double
balance=s.nextDouble(); double
interestRate=s.nextDouble();
double ch_balance=s.nextDouble();
double protectedBy=s.nextDouble(); double withdraw=s.nextDouble(); double deposit=s.nextDouble(); bank.addCustomer( name); customer = bank.getCustomer(0); customer.addAccount(new SavingAccount7(balance,
interestRate));
customer.addAccount(new CheckingAccount7(ch_balance,
protectedBy)); String
name1=s.next(); double
ch_balance1=s.nextDouble();
bank.addCustomer(name1); customer
= bank.getCustomer(1); double
withdraw1=s.nextDouble(); double
deposit1=s.nextDouble();
customer.addAccount(new CheckingAccount7(ch_balance1)); customer = bank.getCustomer(0); account = customer.getAccount(1); System.out.println("客户 [" +
customer.getName() +
"]" + " 支票账户余额:
" +
account.getBalance() + "
和透支额度"+protectedBy); try
{ System.out.println("取款 :
"+withdraw);
account.withdraw(withdraw);
System.out.println("存款 : "+deposit); account.deposit(deposit); } catch (OverdraftException7 e1)
{ System.out.println("异常: " +
e1.getMessage() + " 赤字: " +
e1.getDeficit()); } finally
{ System.out.println("客户 [" +
customer.getName() +
"]" + " 支票账户余额:
" +
account.getBalance());
}
System.out.println(); customer =
bank.getCustomer(1); account =
customer.getAccount(0);
System.out.println("客户 [" + customer.getName() + "]" + "
支票账户余额: " +
account.getBalance()); try
{ System.out.println("取款:
"+withdraw1);
account.withdraw(withdraw1);
System.out.println("存款 : "+deposit1); account.deposit(deposit1); } catch (OverdraftException7 e1)
{ System.out.println("异常: " +
e1.getMessage() + " 赤字: " +
e1.getDeficit()); } finally
{ System.out.println("客户 [" +
customer.getName() +
"]" + " 支票账户余额:
" +
account.getBalance());
} }}
添加回答
举报
0/150
提交
取消