• Java知识系统回顾整理01基础05控制流程06break


    一、break

    break:结束循环

    二、练习--直接结束当前for循环

    public class HelloWorld {

        public static void main(String[] args) {       

            //打印单数    

            for (int j = 0; j < 10; j++) {

                if(0==j%2)

                    break; //如果是双数,直接结束循环            

                System.out.println(j);

            }

        }

    }

       

    三、练习--投资复利"百万富翁"

    题目:

    假设你月收入是3000,除开平时花销,每个月留下1000块钱进行投资。

    然后你认真的钻研了 《股票和基金 21天从入门到精通》,达到了每年20%的投资回报率。

    那么问题来了,以每个月投资1000块钱的节奏,持续投资多少年,总收入达到100万(复利计算按照每年12000投入计算,不按照每月计息)

       

    复利公式:

    F = p* ( (1+r)^n );

    最终收入

    本金

    年利率

    存了多少年

       

    假设情景一:

    p = 10000

    r = 0.05

    n = 1

       

    解读:

    本金是10000

    年利率是5%

    存了一年 1次

    复利收入 10000*( (1+0.05)^1 ) = 10500

       

    假设情景二:

    p = 10000

    r = 0.05

    n = 2

       

    解读:

    本金是10000

    年利率是5%

    存了两年

    复利收入 10000*( (1+0.05)^2 ) = 11025

       

    实现效果:

       

    官方答案:

    public class HelloWorld {

        public static void main(String[] args) {

            int fundPerMonth = 1000;

            int fundPerYear = fundPerMonth *12;

            float rate = 0.20f;

            //F = p* ( (1+r)^n );

            int sum = 0;

            int target = 1000*1000;

            for (int j = 1; j < 100; j++) {

                int year = j;

                float compoundInterestRate = 1;

                for (int i = 0; i < year; i++) {

                    compoundInterestRate = compoundInterestRate * (1+rate);

                }

                int compoundInterest = (int) (fundPerYear * compoundInterestRate);        

                sum +=compoundInterest;

                System.out.println("经过" + year + " 年, 总收入 " + sum);

                if(sum>=target){

                    System.out.println("一共需要" + year + "年,累计收入超过" + target );

                    break;

                }

            }

        }

    }

       

    个人整理答案:

    public class FixedInvestmentIndexFund {

        private static int YearNum;     //  // 定投年数

        private static double YearRate;     // // 定投的平均年利率

        private static double TotalPrincipalSum = 0 ;   // // 定投多年总共投入的本金之和

        private static double TotalRevenueSum;      // 定投多年的总毛收入

        private static double TotalNetIncomeSum;        // 定投多年的总净收入

          

        public static void main(String[] args) {

            // TODO Auto-generated method stub

            Scanner input = new Scanner(System.in);

            System.out.println("请输入定投的年数(单位/年):");

            double InputYearNum = input.nextInt();

              

            System.out.println("请输入定投的平均年利率:");

            double InputYearRate = input.nextDouble();

              

            YearNum = (int)InputYearNum;

            YearRate = InputYearRate;

              

            double [] EveryYearPrincipal = new double[YearNum]; // 创建每年投入的本金数组 .数组索引下标的数字必须是int型的.       

            for (int i = 0; i < EveryYearPrincipal.length; i++) {

                System.out.println("请输入第"+ (i+1) +" 年的计划定投金额(单位/万元):");

                EveryYearPrincipal[i] = input.nextDouble();// 打印输入投入的本金

                  

                TotalPrincipalSum += EveryYearPrincipal[i];

                TotalRevenueSum += TotalPrincipalSum*(1+YearRate);                     

            }

            TotalNetIncomeSum = TotalRevenueSum - TotalPrincipalSum;        

            System.out.println("定投:"+ YearNum +"年总共投入的本金之和为:" + TotalPrincipalSum + "万元!");

            System.out.println("定投:"+ YearNum +"年的总毛收入为:" + TotalRevenueSum + "万元!");

            System.out.println("定投:"+ YearNum +"年的总净收入为:" + TotalNetIncomeSum + "万元!");       

        }

    }

       

       

       

  • 相关阅读:
    6-[多线程]-互斥锁、GIL、死锁、递归锁、信号量
    5-[多线程]-线程理论
    4-1 多进程练习题
    压缩与解压缩
    检测SSL证书很好用的三个网站
    shell之sort和uniq 及wc 的使用
    shell之cut和tr 的命令的使用
    三剑客之awk数组实战
    三剑客之sed
    linux文件查找(find,locate)
  • 原文地址:https://www.cnblogs.com/xlfcjx/p/10772612.html
Copyright © 2020-2023  润新知