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 + "万元!");       

    }

}

   

   

   

原文地址:https://www.cnblogs.com/xlfcjx/p/10772612.html