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点。

  • 相关阅读:
    poj1466
    vc剪贴板
    【转帖】BCGControlBar使用心得如何捕获Workspace bar类上的树控件的消息
    Windows API一日一练
    BCG 使用CBCGPToolbarFontSizeCombo 时下拉框无内容
    VB API教程 王国荣
    用API 现成的函数处理工程退出时的文件保存
    VC 剪贴板操作
    BCG中使用状态栏显示状态信息
    界面库
  • 原文地址:https://www.cnblogs.com/zlcan/p/5267098.html
Copyright © 2011-2022 走看看