how2j.cn

本视频是解读性视频,所以希望您已经看过了本知识点的内容,并且编写了相应的代码之后,带着疑问来观看,这样收获才多。 不建议一开始就观看视频



6分53秒
本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)



示例 1 : break;   
示例 2 : 练习-百万富翁   
示例 3 : 答案-百万富翁   

示例 1 :

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); } } }
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);
		}
    }
}
示例 2 :

练习-百万富翁

Or  姿势不对,事倍功半! 点击查看做练习的正确姿势
假设你月收入是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
示例 3 :

答案-百万富翁

在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

16分33秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)


答案-百万富翁
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; } } } }


HOW2J公众号,关注后实时获知布最新的教程和优惠活动,谢谢。


问答区域    
2018-11-14 百万富翁作业
xwyjrcmbs



百万富翁作业
	public static void main(String[] args) {
		double money = 0;
		int year =0;
		while(money <1000000){
			money = (money+12000)*1.2;//14400
			year++;
			System.out.println("第"+year+"年收益"+money);
		}
	}

							






答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2018-11-12 这个是用数学公式做的,比原代码简单点,
Alex_Gu



这个是用数学公式做的,比原代码简单点,
  
        //这个是数学的算法
        int sum1=1000000;
        for (double n=1;n<100;n++){
        	
        	//3+3^2+3^3+3^4+3^n
        	//a1=3,an=3^n,q=3
        	//(a1-an*q)/1-q,这个是求3+3^2+3^3+3^4+3^n的公式
        	
        	double q=Math.pow(1.2, n+1);// q = Math.pow(1.2,2);//表示1.2的2次方,所以(1.2,n+1)这个表示1.2的1+1次方
        	//sum2就是复利
        	//F = p* ( (1+r)^n );
        	//F=sum2,p=12000,
        	//用求3+3^2+3^3+3^4+3^n的公式,来做,((1+0.2)^n)=((1.2-q)/-0.2),q之前定义过
        	
        	double sum2=12000*((1.2-q)/-0.2);
        	
        	System.out.println((int)n+"年"+"\t"+(int)sum2);
        	
        	if(sum2>=sum1){
        		 System.out.println("一共需要" + n + "年,累计收入超过" + sum1 );
                 break;
        		
        	}
        	
        }
        

							


3 个答案

雷大大的小跟班 答案时间:2018-11-13
百万富翁的答案 我的是15年

Memory_123 答案时间:2018-11-13
double finalIncome = 0; double money = 12000; float InterestRate = 0.2f; int year = 0; for ( year =0;year<100;year++){ finalIncome += money*Math.pow((1+InterestRate),year); if (finalIncome>=1000000){ break; } System.out.println("第"+year+"年,收入:"+finalIncome); } System.out.println("等到第"+(year)+"年,达到100万");

Alex_Gu 答案时间:2018-11-12
1年 14400 2年 31679 3年 52415 4年 77299 5年 107159 6年 142990 7年 185989 8年 237586 9年 299504 10年 373805 11年 462966 12年 569959 13年 698351 14年 852421 15年 1037305 一共需要15.0年,累计收入超过1000000.0




答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2018-11-02 练习
2018-10-31 交作业 我的答案是24
2018-10-31 我的答案是24
2018-10-15 不打印,直接计算,不使用循环
2018-10-07 一台投资计算器
2018-09-30 交作业
2018-09-15 交作业
2018-09-08 过程简化,一层循环得出结果,但是数字稍微偏差;
2018-09-04 交作业
2018-08-28 这样的答案是不是还有漏洞???
2018-08-23 根据题意应该是这样的
2018-08-22 关于答案的理解
2018-08-18 表示第一年不应该计算利率,第一年只有12000
2018-08-18 看各位解法,表示第一年不应该计算利率,第一年只有12000,年底把12000寸到银行,哪有一上来就给你12000的?
2018-08-13 交作业
2018-08-03 不设年数限制的解法
2018-07-25 break;
2018-07-23 交作业
2018-07-16 所以每年的final最终收入还要依次加起来?
2018-07-04 交作业
2018-06-13 答案,简短+注释!
2018-06-03 答案
2018-05-13 我觉得这样挺好的
2018-05-10 break作业
2018-05-02 交作业
2018-04-21 简答
2018-04-21 简答
2018-03-28 写了一个 可以自己选择每年投入本金和每年利息
2018-02-26 while循环实现
2018-02-26 上答案啦
2018-02-26 上答案啦
2018-02-21 答案25年
2018-02-16 这是我写的最简单的做法
2018-01-29 蹩脚
2017-12-31 ^这个起什么作用搞不明白
2017-12-10 解题思路
2017-11-26 站主大大,不管我怎么修改我自己的程序,最后我出来的数据和你的数据每年都要差几个数字。
2017-11-19 为什么不需要外层循环就已经能算出来了,答案是一样的
2017-11-16 这解法不是写的太麻烦了吗
2017-11-13 if循环中的判断条件, 为什么写成 0==j%2 而 不是 j%2 == 0 呢? 两者有区别吗
2017-09-23 如果是每个月都按时投资1000是三年到百万吧?
2017-08-15 站长大人,可以写while(true)这样的代码吗
2017-08-09 总是和答案不一样;跪求大神来解救 。。。。到底是思维错误还是哪里错了
2017-06-24 答案
2017-05-10 while很简单吧
2017-04-11 请问用这个方法计算,和答案上的区别在哪呢
2017-04-03 个人感觉有些问题
2017-03-30 第6年达到百万富翁
2017-03-25 终于明白了,原来投资的金额每年都在增长12000
2017-01-21 如果按月計算的話,我覺得應該是這樣子的
2016-12-08 一开始没看明白把rate*=rate了,捣鼓了半天才发现,,总算对了
2016-12-07 题目有点懵
2016-12-06 我只写了一层循环,输出结果是差不多的,而且我复制你的代码结果也有点差异,不知道为什么
2016-11-21 有点看不懂
2016-11-13 您这是利滚利的算法啊?第二年还要继续往里投钱,这个没有参与计算吧?
2016-10-13 对这个复利写法有点懵
2016-09-26 照着题目写了段程序,结果却和答案的不一样。。
2016-05-28 表示没看懂题目。。
2016-03-30 for循环+break的执行结果为空?




提问之前请登陆
关于 JAVA 基础-控制流程-break 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 902680467
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: http://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图