MyBank1 - 类

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lancecrazy/article/details/83650257


0 自顶向下学习JAVA


1 个人银行管理系统_myBank_1


1.1 系统需求

operate.java

====================================================================================================

伪代码:operate.java

目的: 进行一系列操作检验个人银行账户管理系统

====================================================================================================

00:建立几个账目对象, 初始化对象:: new SavingsAccount(date, id, rate)

01:在不同时间进行不同金额的存钱和取钱, 调用对象方法:: sa.deposit(date, money) sa.withdraw(date, money);

02:在银行的计息日, 结算账户的年息, 调用对象方法:: sa.settle(90);

03:输出显示账户信息, 调用对象方法:: sa.show();

====================================================================================================

1.2 系统设计

SavingsAccount.java

====================================================================================================

伪代码:SavingsAccount.java

目的:实现个人银行账户管理系统

====================================================================================================

成员:

  • id      账号
  • balance   余额
  • rate     存款的年利率
  • lastdate   上次变更余额的时期
  • accumulation 余额按日累加之和

方法:

  • SavingsAccount(int date, int id, double rate)     //构造函数
  • record(int date, double amount)     //获得到指定日期为止的存款金额按日累积值:::
  • private double accumulate(int date)   //计算年息:::
  • getId()
  • getBalance()
  • getRate()
  • deposit(int date, double amount)    //存入现金
  • withdraw(int date, double amount)    //取出现金
  • settle(int date)            //结算年息, 于每年1.1
  • show()

====================================================================================================

1.3 系统实现

record函数介绍

  1. 系统银行账户的私有方法,
  2. 帮助计算到当前日期截止的存款按日累计值
  3. 在deposit, withdraw, settle三个函数中都有用到

====================================================================================================

伪代码:record

使用: 当存款金额将要改变时,调用record函数,计算帮助计算到当前日期截止的存款按日累计值,同时记录到当前日期的余额按日累加之和,用于结算利息

====================================================================================================

00:调用accumulate(int date),更新accumulation用于计算年利息,

01:更新lastDate = date;

02:更新当前账户金额, 要求保留小数点后两位

03:打印显示

====================================================================================================

1.4 系统测试

5	#21325302	5000.01	5000.01
25	#58320212	10000.01	10000.01
45	#21325302	5500.01	10500.02
60	#58320212	-3999.99	6000.02
90	#21325302	27.64	10527.66
90	#58320212	21.79	6021.81
#21325302	Balance: 10527.66

#58320212	Balance: 6021.81

分析:
结果有极小的差别是正常的,因为是在不同的语言下进行测试的结果

1.5 体会心得

  1. 区别
  • 项目的结构: c++是一层层写.h,.cpp文件,而java是闲创建一个project,然后再在包里写类
  • 代码的结构: java都是类(泪),main函数也是写在一个类里
  • 初始化对象就有不一样,要正确区分,不然很容易搞混
  1. 遇到的问题
  • 不同的ide,不同的语言好像都会容易乱码, 对中文注释会乱掉,所以.有可能试试用英语写注释
  • 对一个项目里的两个包, 要调试一个包,另一个包的错误也会显示,本来打算把几个版本的myBank放在一个项目的不同包中的,现在发现,还是算了放到不同的项目吧,但还是把系统放到一个myBank包里吧,方便以后可能要加什么东西.
  • 对包里的方法和成员给什么权限呢?还是就给private吧,实在需要用的时候在给方法接口吧,石少不要随便暴露出成员,对于方法,比如record是定义给类内方法用的就定义成private吧.
Author
lance
2018.11.2

猜你喜欢

转载自blog.csdn.net/lancecrazy/article/details/83650257