复利计算单元测试
2016-03-30 22:00
218 查看
因为eclipse程序故障用不了,所以使用myeclipse进行单元测试
首先进行测试是数值的大小输入
如图,输入过大数值
与预期结果一致,所以没有问题
再试试输入字符,如图
输入字符后显示重新输入,所以也没有问题
输入负值
出现负值的计算,负值输入的时候应该是重新输入
还进行了一部分的测试,由于问题比较多,还在改进,所以没有一一展示,会对复利计算进一步跟进完善的。
package ch1; import java.util.InputMismatchException; import java.util.Scanner; public class fuli { public static void main(String[] args) { System.out.print("请选择求单利1,复利2,本金3,时间4,利率5,投资6,贷款月还款计算7,退出8"); Scanner scanner = new Scanner(System.in); int a = scanner.nextInt(); switch (a) { case 1: danli(); break; case 2: fulili(); break; case 3: benjin(); break; case 4: shijian(); break; case 5: lilv(); break; case 6: touzi(); break; case 7: huankuan(); break; case 8: break; default: System.out.print("请重新输入"); main(null); scanner.close(); } } static void benjin() { // TODO Auto-generated method stub Scanner scanner = new Scanner(System.in); try { System.out.print("请输入预期钱数"); double A = Math.abs(scanner.nextDouble()); System.out.print("请输入年利率"); double B = Math.abs(scanner.nextDouble()); System.out.print("请输入存入年限"); int C = Math.abs(scanner.nextInt()); double D = 1; for (int i = 1; i <= C; i++) { D = D * (1 + B); } System.out.println("本金" + String.format("%.4f", (A / D))); } catch (InputMismatchException e) { benjin(); } main(null); scanner.close(); } static void fulili() { Scanner scanner = new Scanner(System.in); try { System.out.print("请输入本金"); double A = Math.abs(scanner.nextDouble()); System.out.print("请输入年利率"); double B = Math.abs(scanner.nextDouble()); System.out.print("请输入存入年限"); int C = Math.abs(scanner.nextInt()); double D = 1; for (int i = 1; i <= C; i++) { D = D * (1 + B); } System.out.println("复利终值" + String.format("%.4f", (A * D))); } catch (InputMismatchException e) { fulili(); } main(null); scanner.close(); } static void danli() { Scanner scanner = new Scanner(System.in); try { System.out.print("请输入本金"); double A = Math.abs(scanner.nextDouble()); System.out.print("请输入年利率"); double B = Math.abs(scanner.nextDouble()); System.out.print("请输入存入年限"); int C = Math.abs(scanner.nextInt()); double D = 1; D = A * B * C; System.out.println("单利终值" + (A + D)); } catch (InputMismatchException e) { danli(); } main(null); scanner.close(); } static void shijian() { Scanner scanner = new Scanner(System.in); try { System.out.print("请输入本金"); double A = Math.abs(scanner.nextDouble()); System.out.print("请输入年利率"); double B = Math.abs(scanner.nextDouble()); System.out.print("请输入预期金额"); double C = Math.abs(scanner.nextDouble()); double D = 1; double E = 1; int i = 1; while (true) { D = D * (1 + B); E = A * D; if (E <= C) i++; else break; } System.out.println("需" + i + "年"); } catch (InputMismatchException e) { shijian(); } main(null); scanner.close(); } static void lilv() { Scanner scanner = new Scanner(System.in); try { System.out.print("请输入本金"); double A = Math.abs(scanner.nextDouble()); System.out.print("请输入预期金额"); double B = Math.abs(scanner.nextDouble()); System.out.print("请输入存入年限"); double C = Math.abs(scanner.nextDouble()); double D = 1; D = Math.pow(B / A, 1 / C) - 1; System.out.println("利率为" + String.format("%.4f", D)); } catch (InputMismatchException e) { lilv(); } main(null); scanner.close(); } static void touzi() { // TODO Auto-generated method stub Scanner scanner = new Scanner(System.in); try { System.out.print("请输入投资额"); double A = Math.abs(scanner.nextDouble()); System.out.print("请输入年利率"); double B = Math.abs(scanner.nextDouble()); System.out.print("请输入存入年限"); int C = Math.abs(scanner.nextInt()); double D = 0; for (int i = 1; i <= C; i++) { D = D + A; D = D * (1 + B); } System.out.println("最终获利" + String.format("%.4f", D)); } catch (InputMismatchException e) { touzi(); } main(null); scanner.close(); } static void huankuan() { // TODO 自动生成的方法存根 Scanner scanner = new Scanner(System.in); try { System.out.print("请输入贷款额"); double A = Math.abs(scanner.nextDouble()); System.out.print("请输入贷款利率"); double B = Math.abs(scanner.nextDouble()); System.out.print("请输入贷款年限"); int C = Math.abs(scanner.nextInt()); double D = 0; for (int i = 1; i <= C; i++) { D = A * Math.pow(1.0 + B, C); } double Repayment = D / (C * 12); double interest = A * B * C; double sum = A + interest; double Repayment1 = sum / (C * 12); System.out.println("每月需要还款(单利)" + Repayment1); System.out.println("每月需要还款(复利)" + String.format("%.4f", Repayment)); } catch (InputMismatchException e) { huankuan(); } main(null); scanner.close(); } }
首先进行测试是数值的大小输入
如图,输入过大数值
与预期结果一致,所以没有问题
再试试输入字符,如图
输入字符后显示重新输入,所以也没有问题
输入负值
出现负值的计算,负值输入的时候应该是重新输入
还进行了一部分的测试,由于问题比较多,还在改进,所以没有一一展示,会对复利计算进一步跟进完善的。
相关文章推荐
- 20135320赵瀚青LINUX第十八章读书笔记
- QTP 导入 XML作为环境变量
- Servlet入门
- iOS post上传文件
- 20160229.CCPP体系详解(0039天)
- 笔记 - Android - 4000 1.电话拨号器
- 只有一种“足球”的证明
- Android 程序员计算器 开发记录-Git版本控制初步接触
- 对于二级指针的认识
- 待解决的问题
- 辛星漫谈软件思想
- RPC框架设计和调用详解
- Bash中读写MySQL数据库
- 1.出现次数最多的数
- 矩阵乘法
- C指针错误(3)-链表的尾指针要赋值NULL
- python操作 hbase 数据
- 关于我在SQL server中遇到的一些问题
- HDU-2106(decimal system)(进制转换)
- 第九章:BOM浏览器对象模型