复利计算--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进行测试
核心代码如下:
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 (测试代码)
复利计算--4.0 单元测试之JAVA版-软件工程的更多相关文章
- 复利计算5.0(改成Java版本)与 单元测试
//由于C语言版本不方便单元测试,所以改成了java版本,部分代码如下:import java.util.Scanner; public class FuLi{ public static void ...
- <更新日期03-31-2016> 复利计算5.0 <已改进>
作业要求: 1.客户说:帮我开发一个复利计算软件. 完成复利公式计算程序,并成功PUSH到github上. 客户提出: 2.如果按照单利计算,本息又是多少呢? 3.假如30年之后要筹措到300万元的养 ...
- 复利计算4.0单元测试(c语言)
——————————复利计算程序单元测试报告—————————— ————————————4.0 单元测试—————————————— ————————————————要求—————————————— ...
- 复利计算6.0—软件工程(web版本)
复利计算再升级------------------------------------------------------------ 客户在大家的引导下,有了更多的想法: 这个数据我经常会填.... ...
- 复利计算1.0,2.0,3.0(java)
程序源代码: import java.util.Scanner; public class ch { public static void main(String[] args) { Scanner ...
- 复利计算器4.0 【java版】
import java.util.Scanner; public class FuLi { public static void main(String[] args) { ; Scanner sca ...
- 复利计算C转java版
import java.util.Scanner; public class Compound_int { public static void main(String[] args) { tip() ...
- 单元测试之道Java版——读书笔记
单元测试知道Java版读书笔记 首先我们必须要知道我们所写的代码,它的功能是什么,如果我们不了解代码的行为,那么也就无从测试. 我们测试的目的,是为了我们整个程序架构的稳定,代码其实就是欧文要实现功能 ...
- 复利计算--结对项目<04-11-2016> 1.0.0 lastest 阶段性完工~
结对项目:Web复利计算 搭档博客地址:25江志彬 http://www.cnblogs.com/qazwsxedcrfv/ 个人摘要: (2016-04-09-12:00)补充:之前传送门没做好, ...
随机推荐
- tcpdump note
from http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html 用简单的话来定义tcpdump,就是:dump the tr ...
- iOS 判断字符串中含有某个字符串 rangeOfString
//判断roadTitleLab.text 是否含有qingjoin if([roadTitleLab.text rangeOfString:@"qingjoin"].locati ...
- scrollView中的pagingEnabled的功能
pagingEnabled是分页设置,以页为单位滑动,即自动到下一页的开始边界
- Leetcode: Random Pick Index
Given an array of integers with possible duplicates, randomly output the index of a given target num ...
- 转:python socket编程详细介绍
Python 提供了两个基本的 socket 模块. 第一个是 Socket,它提供了标准的 BSD Sockets API. 第二个是 SocketServer, 它提供了服务器中心类,可以简化网络 ...
- 强连通(hdu4635)最多增加几条单向边后满足最终的图形不是强连通
Strongly connected Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- 解决 Xamarin 拖拽Plain Text 于Layout上时 出现 “The layout could not be loaded:java.lang.System.arraycopy([CI[CII)V” 错误
右键项目属性
- Windows 2003/2008更改远程桌面端口脚本
保存为bat文件,点击运行按提示输入新端口自动完成,直接下载更改远程桌面端口脚本 @echo off color 0a title @@ 修改Windows XP/2003/2008远程桌面服务端 ...
- 10---Net基础加强
复习: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Syst ...
- C# 控制台程序如何防止启动多个实例
==================================================================================================== ...