复利计算--4.0 单元测试之JAVA版-软件工程

复利计算--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进行测试

核心代码如下:

 1 public class fulitest {
 2     public double fuli1(double P, float i, int n,int k) {
 3                   double F;
 4                   F=P*Math.pow(i/k+1,k*n);
 5                   return F;
 6               }
 7     public double fuli2(double P, float i, int n) {
 8         double F;
 9         F=P*(1+i*n);
10         return F;
11     }
12     public double fuli31(double F, float i1, int n1,int k) {
13         double P1;
14         P1=F/Math.pow(i1/k+1,k*n1);
15         return P1;
16     }
17     public double fuli32(double F, float i2, int n2) {
18         double P2;
19         P2=F/(1+i2*n2);
20         return P2;
21     }
22     public double fuli4(double b) {
23         double d;
24         d=72/b;
25         return d;
26     }
27     public double fuli5(double d) {
28         double b;
29         b=72/d;
30         return b;
31     }
32     public double fuli6(double a, float b, int d) {
33         double c;
34         c=a*Math.pow(1+b,d);
35         return c;
36     }
37     public double fuli7(double a, float b, int d) {
38         double c;
39         c=a*(b*Math.pow(1+b,d))/(Math.pow(1+b,d)-1);
40         return c;
41     }
42 }

 

 

测试部分功能代码如下:


经测试运行结果与实验结果一致,未发现错误

 

本文所有代码链接: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  (测试代码)

 

posted @ 2016-03-28 23:09  34黄冠锋  阅读(993)  评论(0编辑  收藏  举报