银行管理系统之Java语言实现2
2018-12-19 19:48
369 查看
系统需求:
相对于BankSysterm1来说BankSysterm2主要新增加了:获取系统中所用账户的总金额
系统设计:
在设计方面还是通过设计一个SavingsAccount类来实现系统中所提出的需求,不过相于BankSysterm1来说在类的设计方面新增了一个静态的数据成员total和一个静态的静态函数public static double getTotal() { return total; }来实现系统提出需要知道所有账户总金额的新需求。
系统实现:
系统设计相对于BankSysterm1系统来说主要是增加了一个静态数double total 和一个静态函数public static double getTotal() { return total; }来实现。系统提出的额外需求。
代码实现:
[code]package Account; public class SavingsAccount { private int id; //账号 private double balance; //余额 private double rate; //存款的年利率 private int lastDate; //上次变更余额的时期 private double accumulation; //余额按日累加之和 private static double total; //所有账户的总金额 //记录一笔帐,date为日期,amount为金额,desc为说明 public void record(int date, double amount){ accumulation = accumulate(date); lastDate = date; amount = (amount * 100 + 0.5) / 100; //保留小数点后两位 balance += amount; total += amount; System.out.println(date + "\t#"+ id +"\t" +amount +"\t"+balance); } //获得到指定日期为止的存款金额按日累积值 private double accumulate(int date) { return accumulation + balance * (date - lastDate); } public SavingsAccount(int date, int id, double rate){ this.id=id; this.balance=0; this.rate=rate; lastDate=date; accumulation=0; System.out.println(date + "\t#" + id +" is created"); } public int getId() { return id; } public double getBalance() { return balance; } public double getRate() { return rate; } public static double getTotal() { return total; } //存入现金 public void deposit(int date, double amount){ record(date, amount); } //取出现金 public void withdraw(int date, double amount){ if (amount > getBalance()) System.out.println( "Error: not enough money"); else record(date, -amount); } //结算利息,每年1月1日调用一次该函数 public void settle(int date){ double interest = accumulate(date) * rate / 365; //计算年息 if (interest != 0) record(date, interest); accumulation = 0; } //显示账户信息 public void show() { System.out.print( "#" + id + "\tBalance: " + balance); } }
[code]import Account.* ; public class BankSystem { public static void main(String[] args) { // TODO Auto-generated method stub SavingsAccount sa0=new SavingsAccount(1, 21325302, 0.015); SavingsAccount sa1=new SavingsAccount(1, 58320212, 0.015); //几笔账目 sa0.deposit(5, 5000); sa1.deposit(25, 10000); sa0.deposit(45, 5500); sa1.withdraw(60, 4000); //开户后第90天到了银行的计息日,结算所有账户的年息 sa0.settle(90); sa1.settle(90); //输出各个账户信息 sa0.show(); sa1.show(); } }
相关文章推荐
- 银行管理系统之Java语言实现4
- 银行管理系统之Java语言实现3
- JAVA语言 实现简单的学生成绩管理系统(总分+平均分+排名)
- java语言实现操作系统中的文件管理系统
- Java连接Oracle数据库开发银行管理系统【三、实现篇】
- 走火入魔权限管理系统、多语言运行模式的实现参考
- java 实现通讯录管理系统
- java swing实现图书管理系统之Java swing图书管理系统源码与实现
- 黑马程序员_王康 java实现交通灯管理系统
- java web 项目 图书管理系统的设计与实现
- 简单实现Java版学生管理系统
- 基于Struts2 的日志管理系统的Java实现
- 经典的银行管理系统初步实现(练习1-4)
- Java基础实现学生管理系统
- JAVA_WEB项目(结合Servlet+jsp+ckEditor编辑器+jquery easyui技术)实现新闻发布管理系统第二篇:登陆和注销功能实现
- Java连接Oracle数据库开发银行管理系统【一、需求篇】
- 面向对象银行管理系统JAVA代码《下》
- CMS内容管理系统开发- Java Web开发及发布实例(2)—使用JSP实现动态数据交互
- Java实现超市管理系统Class思维模式实现,空指针问题常见处理办法
- 黑马程序员 Java之实战<九>——银行管理系统