• 复利/单利计算程序进度


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

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

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

    按照这个要求完成了。

    演示。 

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

     1             Scanner in1=new Scanner(System.in);
     2             System.out.println("请输入本金:");
     3             double money =in1.nextDouble();  //本金
     4             System.out.println("请输入存款年数:");
     5             int years = in1.nextInt();    //存钱年数
     6             System.out.println("请输入利率:");
     7             float r = in1.nextFloat();   //利率
     8             float sum =1;
     9             //float sum = (float) ((1+r)*years*money); 
    10                //System.out.println("存款总额为:"+sum);
    11             for(int i = 1 ; i<=years; i++){
    12             sum = (float) (sum*(1+ r));  
    13                  }
    14             System.out.println("存款总额为:"+sum*money);
    15         }

    1.0----------------------------------------------------------------------------

    2.客户提出:

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

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

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

    截止时间:3.12晚11点之前

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

     1 package fuli;
     2 
     3 import java.util.Scanner;
     4 
     5 public class fuli {
     6 
     7     public static void main(String[] args) {
     8         // TODO Auto-generated method stub
     9         Scanner in=new Scanner(System.in);
    10         System.out.println("请选择1.复利/2.单利:");
    11         int a = in.nextInt();
    12         if(a==1)
    13             Count.fulijisuan();
    14         else
    15             Count.danlijisuan();
    19           }
    20     }
        static void fulijisuan() {
                Scanner in1=new Scanner(System.in);
                System.out.println("请输入本金:");
                double money =in1.nextDouble();  //本金
                System.out.println("请输入存款年数:");
                int years = in1.nextInt();    //存钱年数
                System.out.println("请输入利率:");
                float r = in1.nextFloat();   //利率
                float sum =1;
                //float sum = (float) ((1+r)*years*money);
                   //System.out.println("存款总额为:"+sum);
                for(int i = 1 ; i<=years; i++){
                sum = (float) (sum*(1+ r));  
                     }
                System.out.println("存款总额为:"+sum*money);
            } }
    static void danlijisuan() { Scanner in1 = new Scanner(System.in); double sum = 0; System.out.println("请输入本金:"); double money = in1.nextDouble(); // 本金 System.out.println("请输入存款年数:"); int years = in1.nextInt(); // 存钱年数 System.out.println("请输入利率:"); double r = in1.nextDouble(); // 利率 for (int i = 1; i <= years; i++) { sum = (1 + r * i) * money; System.out.println("当前所需本金:" + sum); } }

     2.0----------------------------------------------------------------------------

    3.客户又想:

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

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

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

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

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

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

    截止时间:3.17晚11点之前

     1 public class fuli3 {
     2 
     3     public static void main(String[] args) {
     4         // TODO 自动生成的方法存根
     5         Scanner in=new Scanner(System.in);
     6         System.out.println("请选择1.复利/2.单利:");
     7         int a = in.nextInt();
     8         if(a==1)
     9             Count.fulijisuan();
    10         else
    11             Count.danlijisuan();;
    12     }
    13 }
     1 public class Count {
     2 
     3         // TODO 自动生成的方法存根
     4         static void fulijisuan(){
     5         Scanner in=new Scanner(System.in);
     6         System.out.println("请选择1.计算收入/2.计算本金/3.计算时间/4.计算利率:");
     7         int a = in.nextInt();
     8         if(a==1)
     9             Fuli.shouru();
    10         else if(a==2)
    11             Fuli.benjin();
    12         else if(a==3)
    13             Fuli.shijian();
    14         else
    15             Fuli.lilv();
    16       }
    17      
    22     static void danlijisuan(){
    23     Scanner in1=new Scanner(System.in);
    24     double sum=0;
    25     System.out.println("请输入本金:");
    26     double money =in1.nextDouble();  //本金
    27     System.out.println("请输入存款年数:");
    28     int years = in1.nextInt();    //存钱年数
    29     System.out.println("请输入利率:");
    30     double r = in1.nextDouble();   //利率
    31     for(int i = 1 ; i<=years; i++){
    32        sum = (1+ r * i )*money; 
    33        System.out.println("当前所需本金:"+sum);
    34     }
    35     }
    38 }
     1 public class Fuli {
     2      // 复利计算:总额=本金×(1+利率)^存期
     3         static void shouru(){
     4             Scanner in1=new Scanner(System.in);
     5             System.out.println("请输入本金:");
     6             double money =in1.nextDouble();  //本金
     7             System.out.println("请输入存款年数:");
     8             int years = in1.nextInt();    //存钱年数
     9             System.out.println("请输入利率:");
    10             float r = in1.nextFloat();   //利率
    11             float sum =1;
    12             for(int i = 1 ; i<=years; i++){
    13             sum = (float) (sum*(1+ r));  
    14                  }
    15             System.out.println("存款总额为:"+sum*money);
    16         }
    17         
    18         static void benjin(){
    19             Scanner in1=new Scanner(System.in);
    20             System.out.println("请输入复利终值:");
    21             double sum =in1.nextDouble(); 
    22             System.out.println("请输入存款年数:");
    23             int years = in1.nextInt(); 
    24             System.out.println("请输入利率:");
    25             float r = in1.nextFloat(); 
    26             //double money,n=1;
    27             //for(int i = 1 ; i<=years; i++){
    28              //   n=(1+r)*n;
    29             //}
    30             //money = sum/n;
    31             float money=(float)( sum/(1+years*r));
    32             System.out.println("应投入本金为:"+money);
    33         }
    34         
    35     
    36         static void shijian(){
    37             Scanner in1=new Scanner(System.in);
    38             System.out.println("请输入本金:");
    39             double money =in1.nextDouble();  //本金
    40             System.out.println("请输入复利终值:");
    41             int sum = in1.nextInt();    //存钱年数
    42             System.out.println("请输入利率:");
    43             double r = in1.nextDouble();   //利率
    44             int years=(int)((Math.log(sum)/Math.log(1+r))-(Math.log(money)/Math.log(1+r)));
    45             System.out.println("应存储时间为:"+years);
    46         }
    47         
    48 
    49         static void lilv(){
    50             Scanner in1=new Scanner(System.in);
    51             System.out.println("请输入本金:");
    52             double money =in1.nextDouble();  //本金
    53             System.out.println("请输入存款年数:");
    54             int years = in1.nextInt();    //存钱年数
    55             System.out.println("请输入复利终值:");
    56             double sum = in1.nextDouble();   //终值
    57             float r=(float)( (Math.pow(sum/money, 1.0/years))-1 );
    58             System.out.println("报酬率应为:"+r*100+"%");
    59         }
    60 }

    本来是想下午就弄好的,结果拖到了晚上。。。看来在写代码方面还不够熟悉和细心。git那里好像上传不上去。。。、

     3.0----------------------------------------------------------------------------

    7. 你写的程序能让客户随意操作吗?误输入数据、不小心做了非常规的操作程序是什么反应? 

        相互观赏程序运行情况。

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

    改善完成至要求8,并成功PUSH到github上。

    9. 好书不读就浪费钱了,阅读教材《构建之法》第1.2.3章,适当扩展阅读,看不懂不理解的时候记得百度, 并写一个读后感博客,每章必须至少提一个问题。在博客中要列出问题是关于哪一章,哪一节,你的困惑在哪里? 有什么思考?更重要的,让博客园铭记我们纷纷而来的收获与感悟。

    10. 另外,我们准备找搭档了,找到你志趣相投的小伙伴。

    论伙伴的重要性,看电影《硅谷传奇》,感受下传奇牛人的影响一生的搭档。

    截止时间:2016.3.21晚11点之前

     1 public class Count {
     2 
     3         // TODO 自动生成的方法存根
     4         static void fulijisuan(){
     5         Scanner in=new Scanner(System.in);
     6         System.out.println("请选择1.计算收入/2.计算本金/3.计算时间/4.计算利率/5.复利条件下等额还款金额:");
     7         int a = in.nextInt();
     8         if(a==1)
     9             Fuli.shouru();
    10         else if(a==2)
    11             Fuli.benjin();
    12         else if(a==3)
    13             Fuli.shijian();
    14         else if(a==4)
    15             Fuli.lilv();
    16         else if(a==5)
    17             Fuli.dengehuankuan();
    18       }
    19      
    20       
    21 
    22     static void danlijisuan(){
    23     Scanner in1=new Scanner(System.in);
    24     double sum=0;
    25     System.out.println("请输入本金:");
    26     double money =in1.nextDouble();  //本金
    27     System.out.println("请输入存款年数:");
    28     int years = in1.nextInt();    //存钱年数
    29     System.out.println("请输入利率:");
    30     double r = in1.nextDouble();   //利率
    31     for(int i = 1 ; i<=years; i++){
    32        sum = (1+ r * i )*money; 
    33        System.out.println("当前所需本金:"+sum);
    34     }
    35     }
    38 }
     1 public class Fuli {
     2 
     3         // TODO 自动生成的方法存根
     4      // 复利计算:总额=本金×(1+利率)^存期
     5         static void shouru(){
     6             Scanner in1=new Scanner(System.in);
     7             System.out.println("请输入本金:");
     8             double money =in1.nextDouble();  //本金
     9             System.out.println("请输入存款年数:");
    10             int years = in1.nextInt();    //存钱年数
    11             System.out.println("请输入利率:");
    12             float r = in1.nextFloat();   //利率
    13             float sum =1;
    14             //float sum = (float) ((1+r)*years*money); 
    15                //System.out.println("存款总额为:"+sum);
    16             for(int i = 1 ; i<=years; i++){
    17             sum = (float) (sum*(1+ r));  
    18                  }
    19             System.out.println("存款总额为:"+sum*money);
    20         }
    21         
    22         
    23         static void benjin(){
    24             Scanner in1=new Scanner(System.in);
    25             System.out.println("请输入复利终值:");
    26             double sum =in1.nextDouble();  //本金
    27             System.out.println("请输入存款年数:");
    28             int years = in1.nextInt();    //存钱年数
    29             System.out.println("请输入利率:");
    30             float r = in1.nextFloat();   //利率
    31             //double money,n=1;
    32             //for(int i = 1 ; i<=years; i++){
    33              //   n=(1+r)*n;
    34             //}
    35             //money = sum/n;
    36             float money=(float)( sum/(Math .pow(1+r,years)) );
    37             System.out.println("应投入本金为:"+money);
    38         }
    39         
    40     
    41         static void shijian(){
    42             Scanner in1=new Scanner(System.in);
    43             System.out.println("请输入本金:");
    44             double money =in1.nextDouble();  //本金
    45             System.out.println("请输入复利终值:");
    46             int sum = in1.nextInt();    //存钱年数
    47             System.out.println("请输入利率:");
    48             double r = in1.nextDouble();   //利率
    49             int years=(int)( sum/(Math .pow(1+r,money)) );
    50             System.out.println("应存储时间为:"+years);
    51         }
    52         
    53 
    54         static void lilv(){
    55             Scanner in1=new Scanner(System.in);
    56             System.out.println("请输入本金:");
    57             double money =in1.nextDouble();  //本金
    58             System.out.println("请输入存款年数:");
    59             int years = in1.nextInt();    //存钱年数
    60             System.out.println("请输入复利终值:");
    61             double sum = in1.nextDouble();   //终值
    62             float r=(float)( (Math.pow(sum/money, 1.0/years))-1 );
    63             System.out.println("报酬率应为:"+r*100+"%");
    64         }
    65         
    66         static void dengehuankuan(){
    67             Scanner in1=new Scanner(System.in);
    68             System.out.println("请输入贷款金额:");
    69             double money =in1.nextDouble();
    70             System.out.println("请输入存款年数:");
    71             int years = in1.nextInt();  
    72             System.out.println("请输入利率:");
    73             double r = in1.nextDouble(); 
    74             double m;
    75             m=money*r/(12*(1+r)*(Math.pow(1+r,years)-1));
    76             System.out.println("每月等额还款金额为:"+m+"元");
    77         }
    78         
    79         static void exit(){
    80                 Scanner in1=new Scanner(System.in);
    81                 System.out.println("感谢您使用复利计算软件.
    ");
    82         }
    83 }

    4.0----------------------------------------------------------------------------

    找好搭档,2人一组,把分组名单汇总于学委处,学委更新到博客列表上。

    12. 即要追求利益,又要面对不可预知的金融投资风险, “不能把鸡蛋放在同一个篮子里”,所以有必要进行组合投资。

         通过上述计算与对比,可以帮助客户进行投资决策。 
         客户:那么能否帮我记录下一笔一笔不同类型的投资,并动态显示资金现值呢?

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

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

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

  • 相关阅读:
    ASP.NET WebForm Best Practice 之ViewState
    我会为开源和自由学习,使用JAVA.但我决不会为了开源和自由放弃.NET
    EXT调用ASP.NET AJAX WebService
    我的2007
    博客园迎新春对联
    NBear.Mapping使用教程(2):NBear.Mapping的配置系统
    NBear.Mapping使用教程(3):第一个简单例子
    使用LumaQQ来开发QQ机器人
    解决方案迁移到Visual Studio 2008的一些相关问题
    NBear.Mapping使用教程(4):实体对象与ADO.NET对象的转换
  • 原文地址:https://www.cnblogs.com/sr1zsq/p/5264676.html
Copyright © 2020-2023  润新知