一、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); }
扫描二维码关注公众号,回复:
6021938 查看本文章
} } |
三、练习--投资复利"百万富翁"
题目:
假设你月收入是3000,除开平时花销,每个月留下1000块钱进行投资。
然后你认真的钻研了 《股票和基金 21天从入门到精通》,达到了每年20%的投资回报率。
那么问题来了,以每个月投资1000块钱的节奏,持续投资多少年,总收入达到100万(复利计算按照每年12000投入计算,不按照每月计息)
复利公式:
F = p* ( (1+r)^n );
F 最终收入
p 本金
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 + "万元!"); } } |