zoukankan      html  css  js  c++  java
  • 复利计算1.0~2.0~3.0~4.0-软件工程(网页版)

     

    1.客户说:帮我开发一个复利计算软件。

    完成复利公式计算程序,并成功PUSH到github上。

    截止时间:3.10晚12点之前。 

    按照这个要求完成了。

    演示。 

    计算:本金为100万,利率或者投资回报率为3%,投资年限为30年,那么,30年后所获得的利息收入:按复利计算公式来计算就是:1,000,000×(1+3%)^30

    客户提出:

    2.如果按照单利计算,本息又是多少呢?

    3.假如30年之后要筹措到300万元的养老金,平均的年回报率是3%,那么,现在必须投入的本金是多少呢?

    完成23功能,并成功PUSH到github上。

    截止时间:3.12晚11点之前

    记得更新进度条。

    另外,是否预感到客户会有进一步的要求,而在下次会面演示之前有所准备呢?

    客户又想:

    4.利率这么低,复利计算收益都这么厉害了,如果拿100万元去买年报酬率10%的股票,若一切顺利,过多长时间,100万元就变成200万元呢? 

    5.如果我希望在十年内将100万元变成200万元,应该找到报酬率在多少的投资工具来帮助我达成目标?如果想在5年后本金翻倍,报酬率就应至少为多少才行呢?

    6.如果每年都将积蓄的3万元进行投资,每年都能获得3%的回报,然后将这些本利之和连同年金再投入新一轮的投资,那么,30年后资产总值将变为多少?如果换成每月定投3000呢?

    统计前两次实验提交的代码数据:所用语言与工具,代码行,工作量(人时)。

    估计完成4、5、6所需代码行与工作量,并做记录。

    完成过程中注意记录自己的实际工作量,完成之后与自己之前所做的估计进行对照。

    回顾并总结这三次实验,发布一篇博客。

    截止时间:3.17晚11点之前

     register.jsp 页面

     1 <%--
     2   Created by IntelliJ IDEA.
     3   User: lenovo
     4   Date: 2016/3/16
     5   Time: 20:56
     6   To change this template use File | Settings | File Templates.
     7 --%>
     8 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
     9 <html>
    10 <head>
    11     <title>register</title>
    12 </head>
    13 <body>
    14 <form action ="do_register.jsp" method="post" >
    15     Mtype:
    16     <input type="radio" name="skill" value="one"/>复利计算
    17     <input type="radio" name="skill" value="two"/>单利计算
    18     <input type="radio" name="skill" value="three"/>年限计算
    19     <input type="radio" name="skill" value="four"/>利率计算
    20     <input type="radio" name="skill" value="five"/>本金计算
    21     <br/><br/><br/>
    22    (需要求得值为0)<br/>
    23     收益:<input type="text" name="Money"/><br/>
    24     本金:<input type ="text" name="Value" /><br/>
    25     年限:<input type="text" name="Year"/><br/>
    26     利率:<input type="text" name="Rate"/><br/>
    27     <input type="submit" value="提交"/>
    28 </form>
    29 
    30 </body>
    31 </html>

    do_register.jsp处理

     1 <%--
     2   Created by IntelliJ IDEA.
     3   User: lenovo
     4   Date: 2016/3/16
     5   Time: 20:57
     6   To change this template use File | Settings | File Templates.
     7 --%>
     8 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
     9 <%
    10 
    11     String Value= request.getParameter("Value");
    12     String Year =request.getParameter("Year");
    13     String Money =request.getParameter("Money");
    14     String Rate =request.getParameter("Rate");
    15    String skill= "";
    16    String[] SkillALL=request.getParameterValues("skill");
    17     if(SkillALL !=null&&SkillALL.length>0){
    18         for(String skills:SkillALL)
    19         {
    20             skill=skill+skills+" ";
    21         }
    22 
    23 
    24     }
    25     request.setAttribute("skill" ,skill);
    26     request.setAttribute("Value" ,Value);
    27     request.setAttribute("Year" ,Year);
    28     request.setAttribute("Money" ,Money);
    29     request.setAttribute("Rate" ,Rate);
    30 %>
    31 <jsp:forward page="Math.jsp"/>

    Math.jsp输出

     1 <%--
     2   Created by IntelliJ IDEA.
     3   User: lenovo
     4   Date: 2016/3/16
     5   Time: 21:21
     6   To change this template use File | Settings | File Templates.
     7 --%>
     8 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
     9 <html>
    10 <head>
    11     <title>Math</title>
    12 </head>
    13 <body>
    14 
    15 
    16 
    17 <%
    18     Year=Double.parseDouble((String)request.getAttribute("Year"));
    19     Value=Double.parseDouble((String)request.getAttribute("Value"));
    20     Money=Double.parseDouble((String)request.getAttribute("Money"));
    21     Rate=Double.parseDouble((String)request.getAttribute("Rate"));
    22 %>
    23 
    24 <%
    25      String Check=(String)request.getAttribute("skill");
    26      if(Check.equals("one ") ){
    27 
    28         Money=Value*Math.pow((1+Rate ),Year );
    29          out.print("收益:");
    30          out.print(Money);
    31      }
    32 
    33     if(Check.equals("two ") ){
    34 
    35         Money=Value*(1+Rate*Year );
    36         out.print("收益:");
    37         out.print(Money);
    38     }
    39 
    40     if(Check.equals("three ") ){
    41 
    42         Year=(Math.log(Money/Value))/(Math.log(1+Rate));
    43         out.print("年限:");
    44         out.print(Year);
    45     }
    46 
    47     if(Check.equals("four ") ){
    48 
    49         Rate=Math.pow((Money/Value),1/Year)-1;
    50         out.print("利率:");
    51         out.print(Rate);
    52     }
    53     if(Check.equals("five ") ){
    54 
    55          Value=Money/Math.pow((1+Rate ),Year ) ;
    56         out.print("本金:");
    57         out.print(Value);
    58     }
    59 
    60 %>
    61 
    62 <%!
    63     private double  Value=0;
    64     private double  Year=0;
    65     private double  Money=0;  //收益
    66     private double  Rate=0;
    67 
    68 %>
    69 
    70 
    71 
    72 </body>
    73 </html>

    4.0 单元测试----------------------------- 

    我们已经完成的这些功能,已经足以做成一个独立应用了。  

    但是并没有以商业标准来要求。

    现在假设金融公司为客户算收益直接调用我们的计算函数,能不能保证万无一失?

    1.团队协作准备:每个同学在github上完成FORK,COMMENT(学号后三位+姓名),PR,MERGE的过程。

    2.你的RP由你的程序质量决定。

       对我们和复利计算程序,写单元测试。 

       有哪些场景?

       期待的返回值

       写测试程序。

       运行测试。

       写一篇测试报告发布到博客上。

     截止日期:2016.3.29晚11点。

  • 相关阅读:
    Algebra, Topology, Differential Calculus, and Optimization Theory For Computer Science and Machine Learning 第50章 读书笔记(待更新)
    Algebra, Topology, Differential Calculus, and Optimization Theory For Computer Science and Machine Learning 第49章 读书笔记(待更新)
    Algebra, Topology, Differential Calculus, and Optimization Theory For Computer Science and Machine Learning 第48章 读书笔记(待更新)
    Spring Boot 中使用 Quartz 实现任务调度
    实战 FastDFS Java 客户端上传文件
    分布式文件系统之 FastDFS
    Java 持久层框架之 MyBatis
    C语言实现贪吃蛇
    [转载]分享三篇非常好的学习心得
    selenium加载cookie报错问题:selenium.common.exceptions.InvalidCookieDomainException: Message: invalid cookie domain
  • 原文地址:https://www.cnblogs.com/zlcan/p/5267098.html
Copyright © 2011-2022 走看看