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