复利计算--4.0 单元测试之JAVA版-软件工程
2016-03-28 23:09
453 查看
复利计算--4.0 单元测试-软件工程
前言:由于本人之前做的是C语言版的复利计算,所以为了更好地学习单元测试,于是将C语言版的复利计算修改为JAVA版的。
一、主要的功能需求细分:
1.本金为100万,利率或者投资回报率为3%,投资年限为30年,那么,30年后所获得的利息收入:按复利计算公式来计算就是:1,000,000×(1+3%)^30 2.如果按照单利计算,本息又是多少呢?
3.假如30年之后要筹措到300万元的养老金,平均的年回报率是3%,那么,现在必须投入的本金是多少呢?
4.利率这么低,复利计算收益都这么厉害了,如果拿100万元去买年报酬率10%的股票,若一切顺利,过多长时间,100万元就变成200万元呢?
5.如果我希望在十年内将100万元变成200万元,应该找到报酬率在多少的投资工具来帮助我达成目标?如果想在5年后本金翻倍,报酬率就应至少为多少才行呢?
6.如果每年都将积蓄的3万元进行投资,每年都能获得3%的回报,然后将这些本利之和连同年金再投入新一轮的投资,那么,30年后资产总值将变为多少?如果换成每月定投3000呢?
7.你写的程序能让客户随意操作吗?误输入数据、不小心做了非常规的操作程序是什么反应?
8.如果向银行贷款10万元,年利率6.5%,期限为10年,那么每月等额本息还款多少?(算复利条件下等额还款金额)
二、开发过程与程序部分结果分析:(实验数据参考之前C版的)
1.复利计算
2.单利计算
3.计算本金
4.求存款时长
5.求报酬率
6.一定年份资金总额
7.月等额本息还款计算
三、单元测试主要步骤与核心代码
新建多一个类是用来测试的
在新建的类右键junit进行测试
核心代码如下:
测试部分功能代码如下:
经测试运行结果与实验结果一致,未发现错误
本文所有代码链接:https://github.com/crown999/crown999/blob/master/Fulijava.java (源程序)
https://github.com/crown999/crown999/blob/master/fulitest.java (测试功能公式代码)
https://github.com/crown999/crown999/blob/master/fulitestTest.java (测试代码)
前言:由于本人之前做的是C语言版的复利计算,所以为了更好地学习单元测试,于是将C语言版的复利计算修改为JAVA版的。
一、主要的功能需求细分:
1.本金为100万,利率或者投资回报率为3%,投资年限为30年,那么,30年后所获得的利息收入:按复利计算公式来计算就是:1,000,000×(1+3%)^30 2.如果按照单利计算,本息又是多少呢?
3.假如30年之后要筹措到300万元的养老金,平均的年回报率是3%,那么,现在必须投入的本金是多少呢?
4.利率这么低,复利计算收益都这么厉害了,如果拿100万元去买年报酬率10%的股票,若一切顺利,过多长时间,100万元就变成200万元呢?
5.如果我希望在十年内将100万元变成200万元,应该找到报酬率在多少的投资工具来帮助我达成目标?如果想在5年后本金翻倍,报酬率就应至少为多少才行呢?
6.如果每年都将积蓄的3万元进行投资,每年都能获得3%的回报,然后将这些本利之和连同年金再投入新一轮的投资,那么,30年后资产总值将变为多少?如果换成每月定投3000呢?
7.你写的程序能让客户随意操作吗?误输入数据、不小心做了非常规的操作程序是什么反应?
8.如果向银行贷款10万元,年利率6.5%,期限为10年,那么每月等额本息还款多少?(算复利条件下等额还款金额)
二、开发过程与程序部分结果分析:(实验数据参考之前C版的)
1.复利计算
2.单利计算
3.计算本金
4.求存款时长
5.求报酬率
6.一定年份资金总额
7.月等额本息还款计算
三、单元测试主要步骤与核心代码
新建多一个类是用来测试的
在新建的类右键junit进行测试
核心代码如下:
public class fulitest { public double fuli1(double P, float i, int n,int k) { double F; F=P*Math.pow(i/k+1,k*n); return F; } public double fuli2(double P, float i, int n) { double F; F=P*(1+i*n); return F; } public double fuli31(double F, float i1, int n1,int k) { double P1; P1=F/Math.pow(i1/k+1,k*n1); return P1; } public double fuli32(double F, float i2, int n2) { double P2; P2=F/(1+i2*n2); return P2; } public double fuli4(double b) { double d; d=72/b; return d; } public double fuli5(double d) { double b; b=72/d; return b; } public double fuli6(double a, float b, int d) { double c; c=a*Math.pow(1+b,d); return c; } public double fuli7(double a, float b, int d) { double c; c=a*(b*Math.pow(1+b,d))/(Math.pow(1+b,d)-1); return c; } }
测试部分功能代码如下:
经测试运行结果与实验结果一致,未发现错误
本文所有代码链接:https://github.com/crown999/crown999/blob/master/Fulijava.java (源程序)
https://github.com/crown999/crown999/blob/master/fulitest.java (测试功能公式代码)
https://github.com/crown999/crown999/blob/master/fulitestTest.java (测试代码)
相关文章推荐
- java 类加载机制--类加载时机
- 复利计算器4.0 【java版】
- Java源码解析 Comparable<T>
- #java读书笔记#面向对象2
- Spring3自定义环境配置 <beans profile="">
- Java环境搭建
- Spring JDBC学习笔记(1):查询数据库数据之JdbcTemplate的使用
- Spring 依赖注入 @Autowired @Inject
- Java 中InputStream与Reader的区别
- javaweb
- java——Class<?>
- 0004--jcf(jdk1.7)-LinkedList源码
- Eclipse新建android项目时候,默认布局方式是RelativeLayout,修改为默认布局方式为LinearLayout
- Java学习笔记(一)
- Java简介
- Spring+Spring MVC+Hibernate框架搭建实例 推荐
- java事务学习笔记总结
- 表示数值的字符串---JAVA版
- java各内存区域回收比例
- java——protected