期末小作业银行ATM系统模拟参考答案

举报
tea_year 发表于 2021/12/30 01:23:56 2021/12/30
【摘要】 /*Account类:表示银行账户*///创建包://package com.mybank.domain;//定义类的时候,要注意访问限制符的使用.public class Account{ protected double balance;//表示余额 protected Account(double initBalance)//...

  
  1. /*Account类:表示银行账户*/
  2. //创建包:
  3. //package com.mybank.domain;
  4. //定义类的时候,要注意访问限制符的使用.
  5. public class Account
  6. {
  7. protected double balance;//表示余额
  8. protected Account(double initBalance)//构造器,来初始化成员变量.
  9. {
  10. this.balance=initBalance; //开户.
  11. }
  12. public double getBalance() //获取余额.
  13. {
  14. //想获得balance的值,需要使用
  15. return balance;
  16. }
  17. public boolean deposit(double amt) //存款,amt:存款金额
  18. {
  19. balance=balance+amt;
  20. return true;
  21. }
  22. public boolean withdraw(double amt) //取款amt:取款金额
  23. //增加业务规则:取款金额和余额. 保证余额〉=取款金额.
  24. {
  25. boolean result=false; //假设操作失败.
  26. if(balance>=amt)
  27. {
  28. balance=balance-amt;
  29. result=true; //操作成功.
  30. }
  31. return result;
  32. }
  33. }/*类定义完成.*/

 


  
  1. /**
  2. 建立Bank类:
  3. 属性:
  4. customers:Customer[]
  5. numberOfCustomers:int
  6. 构造器:
  7. Bank
  8. 方法:
  9. addCustomer(x:String,m:String)
  10. getNumOfCustomers():int
  11. getCustomer(index:int):Customer
  12. 达到以下输出效果
  13. Customer[1]is 李逵
  14. Customer[2]is 宋江
  15. Customer[3]is 燕青
  16. customer[4]is 鲁智深
  17. */
  18. class Bank
  19. {
  20. private Customer[]customers;//Customer类型的对象数组
  21. private int numberOfCustomers;//记录下一个customers数组索引的一个整数.
  22. public Bank(){
  23. //代码为空.至少长度为5来初始化customers数组
  24. customers=new Customer[5];
  25. numberOfCustomers=0;
  26. }
  27. public void addCustomer(String x,String m)//参数为姓x、名m
  28. {
  29. customers[numberOfCustomers]=new Customer(x,m);//构造一个新的Customer对象
  30. numberOfCustomers++; //指向下一个编号.
  31. }
  32. public int getNumOfCustomers(){ //获得客户数量.
  33. return numberOfCustomers;//返回
  34. }
  35. public Customer getCustomer(int index){ //实现的功能是啥呢?通过索引来检索客户的信息
  36. return customers[index]; //通过customers数组来返回一个Customer对象
  37. }
  38. }

 


  
  1. /*定义银行客户类*/
  2. //创建包
  3. //package com.mybank.domain;
  4. public class Customer
  5. {
  6. private String xing;//姓
  7. private String ming;//名
  8. private Account account;//定义Account类型的一个成员变量,表示客户有一个账户
  9. //构造器
  10. public Customer(String x,String m)
  11. {
  12. xing=x;
  13. ming=m;
  14. }
  15. //方法
  16. public String getXing() //获得姓
  17. {
  18. return xing;
  19. }
  20. public String getMing()//获得名
  21. {
  22. return ming;
  23. }
  24. public Account getAccount() //获得客户的账户方法
  25. {
  26. return account; //返回账户
  27. }
  28. public void setAccount(Account acct) //设置客户的账户.
  29. {
  30. this.account=acct;
  31. }
  32. }

 


  
  1. /*
  2. SavingAccount:储蓄账户类.
  3. 是账户类的子类.
  4. */
  5. class SavingAccount extends Account
  6. {
  7. //属性.
  8. private double interestRate; //利率.
  9. //构造器.对成员变量初始化。
  10. public SavingAccount(double initBalance,double interestRate)
  11. {
  12. super(initBalance); //调用父类的构造器. 把父类的构造器给包含过来.
  13. this.interestRate=interestRate;
  14. }
  15. }

 


  
  1. /*
  2. 透支账户类
  3. 透支账户类是账户类的子类.
  4. */
  5. class CheckingAccount extends Account
  6. {
  7. //属性
  8. private double overdraftAmount; //透支金额
  9. //构造器.成员变量初始化.
  10. public CheckingAccount(double initBalance,double overdraft)
  11. {
  12. super(initBalance);
  13. this.overdraftAmount=overdraft;
  14. }
  15. public CheckingAccount(double initBalance)
  16. {
  17. super(initBalance);
  18. }
  19. //方法.重写取钱方法,因为透支账户取钱可以透支.
  20. public boolean withdraw(double amt)
  21. {
  22. return false;
  23. }
  24. }

 


  
  1. class TestBanking
  2. {
  3. public static void main(String[] args)
  4. {
  5. Bank lsBank=new Bank();
  6. lsBank.addCustomer("李","逵");//customers[0]=李逵
  7. lsBank.addCustomer("宋","江");//customers[1]=宋江
  8. lsBank.addCustomer("燕","青");
  9. lsBank.addCustomer("鲁","智深");
  10. //System.out.println("长度"+lsBank.getNumOfCustomers());
  11. //Customer objCust=new Customer();
  12. for(int i=0;i<lsBank.getNumOfCustomers();i++){
  13. Customer objCust=lsBank.getCustomer(i);
  14. System.out.println("Customer["+(i+1)+"]is"+objCust.getXing()+objCust.getMing());
  15. }
  16. /*Customer objCust=lsBank.getCustomer(1);
  17. System.out.println("Customer[1]is"+objCust.getXing()+objCust.getMing());
  18. objCust=lsBank.getCustomer(2);
  19. System.out.println("Customer[2]is"+objCust.getXing()+objCust.getMing());
  20. objCust=lsBank.getCustomer(3);
  21. System.out.println("Customer[3]is"+objCust.getXing()+objCust.getMing());
  22. objCust=lsBank.getCustomer(0);
  23. System.out.println("Customer[4]is"+objCust.getXing()+objCust.getMing());*/
  24. }
  25. }

 

文章来源: aaaedu.blog.csdn.net,作者:tea_year,版权归原作者所有,如需转载,请联系作者。

原文链接:aaaedu.blog.csdn.net/article/details/52718344

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。