• 0406复利计算6.0 结对:列志华,韩麒麟


    一.主要功能与需求分析

    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. 如果向银行贷款10万元,年利率6.5%,期限为10年,那么每月等额本息还款多少?(算复利条件下等额还款金额)

    二.单元测试预期结果及其代码。

    测试模块

    测试输入

    预期结果

    运行结果

    bug跟踪

    复利计算

    (本金,年限,利率,次数)

    终值

       

    测试运算结果

    (100.0,1,0.05,1)

    105.0

     

     测试输出正数

    (100.0,1,0.05,1)

    True

     测试输入负数

     (-100.0,1,-0.05,1)  true  √  已经添加输入控制

    单利计算

    (利率,本金,年限)

     终值    
     测试运算结果  ("0.05","100.0","1")  105.0   √  
     测试输入负数  ("0.05","100.0","1")  True   √  
    测试输出正数 ("-0.05","-100.0","1") true  √   已经添加输入控制
    投资年限 (利率,本金,终值,次数)      
    测试运算结果 ("0.05","100.0","105.0","1") 1  
    测试输出正数 ("0.05","100.0","105.0","1") True  
    测试输入负数 ("-0.05","-100.0","105.0","1") true   已经添加输入控制
    ...... 以下结果与上表一致    

    接入数据库主要代码:

     1  static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
     2         static final String DB_URL = "jdbc:mysql://localhost/test";
     3 
     4 
     5         static final String USER = "root";
     6         static final String PASS = "lzh";
     7         private int MAX = 100 ;
     8         private String[] items = new String[MAX];
     9         private int N = 1;
    10         Connection conn = null;    //创建一个MYSQL的链接对象
    11         Statement stmt = null;        //创建声明
    12         public MySQL() throws Exception {
    13     
    14             
    15             //STEP 2: Register JDBC driver
    16             Class.forName(JDBC_DRIVER);      //添加MYSQL驱动
    17 
    18             //STEP 3: Open a connection  链接本地MYSQL
    19             conn = (Connection) DriverManager.getConnection(DB_URL,USER,PASS);    
    20            
    21             //STEP 4: Execute a query
    22             stmt = conn.createStatement();
    23             String sql;
    24             sql = "SELECT * FROM test";
    25             ResultSet rs = stmt.executeQuery(sql);
    26 
    27             //STEP 5: Extract data from result set
    28             while(null != rs && rs.next()){
    29                 System.out.println(rs.getString("rate"));
    30                 System.out.println(rs.getString("time"));
    31                 System.out.println(rs.getString("principal"));
    32             }
    33            
    34         }

    三.运行情况

     

    使用程序进行更新的数据库

    工作时情形················································································································

    四.代码链接

    https://github.com/liezh/Compound-Interest-5.0-Junit

    五.心得

    经过这一次的作业,学到了如何把Mysql的使用,和使他接上Java的程序中,还是可以学到东西的。

  • 相关阅读:
    (总结)CentOS Linux搭建SVN Server配置详解
    面试感悟----一名3年工作经验的程序员应该具备的技能
    SQL server 2008数据库的备份与还原(转)
    MyEclipse XX安装jad反编译插件
    c语言实现对传统单链表的创建、添加 遍历 删除 反转元素操作
    转>>Java工程师成神之路
    Programming reference for JavaScript
    elastic-job 的简单使用
    JAVA使用Ldap操作AD域
    nginx之location(root/alias)
  • 原文地址:https://www.cnblogs.com/liezhihua/p/5361497.html
Copyright © 2020-2023  润新知