复利计算器4.0JUnit
#因为是用IDEA首次写unit test,所以也是麻烦多多,于是就只写了一个函数的测试....
##需要测试的代码如下
public class Calculator {
// 本金为100万,利率或者投资回报率为3%,投资年限为30年,那么,30年后所获得的利息收入:
public static double calculatingAmount(double capital,double rate,int year)
{
return capital*(Math.pow((1+rate),(double)year));
};
// 如果按照单利计算,本息又是多少呢
public double calculatingAmountForSingle(double capital, double rate, int year)
{
return capital*(1+(rate*year));
};
// 假如30年之后要筹措到300万元的养老金,平均的年回报率是3%,那么,现在必须投入的本金是多少呢
public double calculatingCapital(double amount, double rate, int year)
{
return amount/(Math.pow((1+rate),(double)year));
};
// 利率这么低,复利计算收益都这么厉害了,如果拿100万元去买年报酬率10%的股票,若一切顺利,过多长时间,100万元就变成200万元呢
public int calculatingYear(double capital,double rate,double count)
{
return (int)(Math.log(1+rate)/Math.log(count/capital));
};
// 如果我希望在十年内将100万元变成200万元,应该找到报酬率在多少的投资工具来帮助我达成目标
public double calculatingRate(double capital,int year,double acount)
{
return Math.pow((acount/capital),(double)(1/year))-1;
};
// 如果想在5年后本金翻倍,报酬率就应至少为多少才行呢
public double calculatingRateInDoubleReturn()
{
return this.calculatingRate(100,5,200);
};
// .如果每年都将积蓄的3万元进行投资,每年都能获得3%的回报,然后将这些本利之和连同年金再投入新一轮的投资,那么,30年后资产总值将变为多少
public double calculatingAmountInNorm(double normCapital,double rate,int year){
double acount;
acount=normCapital;
for (int i=0;i<year;i++)
{
acount+=normCapital+acount*rate;
}
return acount;
};
// 如果向银行贷款10万元,年利率6.5%,期限为10年,那么每月等额本息还款多少
public double[][] calculatingInterest(double capital,double rate,int year)
{
double[][] interest=new double[year][12];
for (int i=0;i<year;i++)
{
for (int j=0;j<12;j++)
{
interest[i][j]=capital*Math.pow(rate+1,(double)(i))*rate;
}
}
return interest;
};
}
然后是测试代码
public class CalculatorTest {
@org.junit.Test
public void testCalculatingAmount() throws Exception {
assertEquals(103.0301,Calculator.calculatingAmount(100.0301,0.01,3),0.1);
}
@org.junit.Test
public void testCalculatingAmountForSingle() throws Exception {
}
@org.junit.Test
public void testCalculatingCapital() throws Exception {
}
@org.junit.Test
public void testCalculatingYear() throws Exception {
}
@org.junit.Test
public void testCalculatingRate() throws Exception {
}
@org.junit.Test
public void testCalculatingRateInDoubleReturn() throws Exception {
}
@org.junit.Test
public void testCalculatingAmountInNorm() throws Exception {
}
@org.junit.Test
public void testCalculatingInterest() throws Exception {
}
}
第一个函数而已,其他的都是自动生成的,先熟悉下IDEA环境下JUnit的使用,以后会添加真正的测试的。
下面是结果

#总结:浪费了很多时间,主要是百度中文搜索技术文很差,然后用了bing,看英文看了很...在一些小问题卡住很久,以后解决这种小问题还是需要不要没有思考的百度,很浪费时间,只是原地打转,百度不会什么都告诉你!还有就是学好英文。
附github地址https://github.com/LinJiTuan/BankCalculator
复利计算器4.0JUnit的更多相关文章
- 复利计算器(4)——jQuery界面美化、自动补全
一.分工 这次终于可以跟小伙伴合作了,经过讨论,我负责界面的美化和输入框自动补全,小伙伴擅长安卓,于是将复利计算器弄成app的任务就交给了小伙伴.为了我们两人团队,我们都好奋斗哈哈哈!! 二.界面美化 ...
- 复利计算器v1
public class MainFrame extends JFrame { /** * 文本框 */ private TextField[] texts = new TextField[5]; / ...
- java版复利计算器升级
github地址:https://github.com/iamcarson/Carson 伙伴:彭宏亮 学号:201406114148 与伙伴工作帅照: 本次升级的地方: 1.改善了界面显示,让界面整 ...
- 0406.复利计算器5.0版-release
复利计算器5.0-release 目录 项目简介 Github链接推送 客户需求 新增需求分析 项目设计 效果演示 操作说明 程序结构 结对分工 合作照片 总结 1.项目简介 项目名称:复利计算器 目 ...
- 单利 复利计算器程序1.0 2.0 3.0 [ 合 ] 之 WEB
对单复利计算器程序进行改进 更新为网页版的. 界面不太美观 请谅解 由于时间问题暂未完善好! 计算部分的主要源代码:
- 复利计算器app发布
复利计算器app发布 抱歉:由于无法实现服务端的持续开启,发布的app仅为简单的单机版,暂时舍弃了c/s版本的一些功能,如:投资动态管理功能. 应用详情博客:请点击这里 apk下载地址1(百度手机助手 ...
- 复利计算器4.0之再遇JUnit
复利计算器4.0之再遇JUnit 前言 虽然之前的复利计算器版本已经尝试过使用JUnit单元测试,但由于没有系统性地学习过JUnit的使用,用得并不好,主要问题表现在测试的场景太少,并没有达到测 ...
- 0329 复利计算器5.0 Juint单元测试 组员 254列志华 253韩麒麟
一.主要功能与需求分析 1.本金为100万,利率或者投资回报率为3%,投资年限为30年,那么,30年后所获得的利息收入:按复利计算公式来计算就是:1,000,000×(1+3%)^30 2.如果按照单 ...
- 复利计算器(软件工程)及Junit测试———郭志豪
计算:1.本金为100万,利率或者投资回报率为3%,投资年限为30年,那么,30年后所获得的利息收入:按复利计算公式来计算就是:1,000,000×(1+3%)^30 客户提出: 2.如果按照单利计算 ...
随机推荐
- QT中使用自己定的类和Vector出现错误
关于QT自定义类不能调用问题: 在Main()函数里面一定要定义include“XXX.cpp”include“XXX.h”,具体原因我也不知道为什么这样定义,是在一个贴吧看见的,弄了好久才解决. 第 ...
- Redis安装及五种数据类型
redis是非关系型数据库,也叫内存数据库.数据是键值对的形式,通过key查找value 安装Radis:6379 sudo apt-get update sudo apt-get install r ...
- 21. orcle导出sql脚本时,提示“超出打开游标最大数”
1.解决办法:修改下打开游标最大数即可 SQL> show parameter open_cursors;NAME TYPE ...
- java web 读取文件,文件路劲不对的问题
都知道,一般java项目,编译后的文件是在classes文件夹下面: 而java web项目,则是在WEB-INF/classes文件夹下面.new File(fileName)须先获取tomcat中 ...
- SourceTree使用方法
一 .SourceTree简介 SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,拥有可视化界面,容易上手操作.同时它也是Mercurial和Subve ...
- time 时间内置模块3种形态的转化
import time print(time.time()) #获得时间戳 1526998642.877814 print(time.sleep(2)) #停止2秒 print(time.gmti ...
- Spring cron 定时调度配置
IDEA 或者 STS http://spring.io/guides/gs/scheduling-tasks/ spring mvc : 结构: Seconds Minutes Hours Day ...
- 基于OpenGL编写一个简易的2D渲染框架-02 搭建OpenGL环境
由于没有使用GLFW库,接下来得费一番功夫. 阅读这篇文章前请看一下这个网页:https://learnopengl-cn.github.io/01%20Getting%20started/02%20 ...
- mysql创建定时器(event),查看定时器,打开定时器,设置定时器时间
由于项目需要创建定时器(evevt),所以就百度了一下,发现基本都是来源于一个模板,有些功能还不全,现在自己总结一下. 注:mysql版本是从5.1开始才支持event的.如果你的版本低于5.1就先升 ...
- MATLAB中 histogram 和 imhist 的区别
matlab有两个生成直方图的库函数,分别是imhist和histogram,二者有何区别呢? 区别就是: imhist 官方help:imhist(I) calculates the histogr ...