how2j.cn

步骤 1 : 练习-黄金分割点   
步骤 2 : 答案-黄金分割点   
步骤 3 : 练习-水仙花数   
步骤 4 : 答案-水仙花数   
步骤 5 : 练习-小学算术题   
步骤 6 : 答案-小学算术题   

步骤 1 :

练习-黄金分割点

edit  姿势不对,事倍功半! 点击查看做练习的正确姿势
寻找某两个数相除,其结果 离黄金分割点 0.618最近

分母和分子不能同时为偶数
分母和分子 取值范围在[1-20]
练习-黄金分割点
步骤 2 :

答案-黄金分割点

edit
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
查看本答案会花费4个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 基础总计0个答案 (总共需要0积分)
查看本答案会花费4个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 基础总计0个答案 (总共需要0积分)
账号未激活 账号未激活,功能受限。 请点击激活
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

13分44秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器。 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)。 chrome 的 视频下载插件会影响播放,如 IDM 等,请关闭或者切换其他浏览器


public class HelloWorld { public static void main(String[] args) { // 寻找某两个数相除,其结果 离黄金分割点 0.618最近 // // 分母和分子不能同时为偶数 // 分母和分子 取值范围在[1-20] int range = 20; // 取值范围 float breakPoint = 0.618f; // 黄金分割点 float minDiff = 100; // 离黄金分割点的差值 int answerFenzi = 0; // 找到的分子 int answerFenmu = 0; // 找到的分母 for (int fenzi = 1; fenzi <= range; fenzi++) { for (int fenmu = 1; fenmu <= range; fenmu++) { // 分母和分子不能同时为偶数 if (0 == fenzi % 2 & 0 == fenmu % 2) continue; // 取值 float value = (float) fenzi / fenmu; // 取离黄金分割点的差值 float diff = value - breakPoint; // 绝对值 diff = diff < 0 ? 0 - diff : diff; // 找出最小的差值 if (diff < minDiff) { minDiff = diff; answerFenzi = fenzi; answerFenmu = fenmu; } } } System.out.println("离黄金分割点(" + breakPoint + ")最近的两个数相除是:" + answerFenzi + "/" + answerFenmu + "=" + ((float) answerFenzi / answerFenmu)); } }
步骤 3 :

练习-水仙花数

edit  姿势不对,事倍功半! 点击查看做练习的正确姿势
水仙花数定义:
1. 一定是3位数
2. 每一位的立方,加起来恰好是这个数本身,比如153=1*1*1+5*5*5+3*3*3

寻找所有的水仙花数
步骤 4 :

答案-水仙花数

edit
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
查看本答案会花费4个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 基础总计0个答案 (总共需要0积分)
查看本答案会花费4个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 基础总计0个答案 (总共需要0积分)
账号未激活 账号未激活,功能受限。 请点击激活
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

4分16秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器。 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)。 chrome 的 视频下载插件会影响播放,如 IDM 等,请关闭或者切换其他浏览器


答案-水仙花数
public class HelloWorld { public static void main(String[] args) { for (int i = 100; i < 1000; i++) { int baiwei = i / 100; int shiwei = i / 10 % 10; int gewei = i % 10; int cube = baiwei * baiwei * baiwei + shiwei * shiwei * shiwei + gewei * gewei * gewei; if (cube == i) { System.out.println("找到水仙花数:" + i); } } } }
public class HelloWorld {
	public static void main(String[] args) {

		for (int i = 100; i < 1000; i++) {

			int baiwei = i / 100;
			int shiwei = i / 10 % 10;
			int gewei = i % 10;
			int cube = baiwei * baiwei * baiwei + shiwei * shiwei * shiwei + gewei * gewei * gewei;
			if (cube == i) {
				System.out.println("找到水仙花数:" + i);
			}

		}

	}

}
步骤 5 :

练习-小学算术题

edit  姿势不对,事倍功半! 点击查看做练习的正确姿势
提示使用多层循环嵌套解决
练习-小学算术题
步骤 6 :

答案-小学算术题

edit
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
查看本答案会花费4个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 基础总计0个答案 (总共需要0积分)
查看本答案会花费4个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 基础总计0个答案 (总共需要0积分)
账号未激活 账号未激活,功能受限。 请点击激活
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

5分14秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器。 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)。 chrome 的 视频下载插件会影响播放,如 IDM 等,请关闭或者切换其他浏览器


public class HelloWorld { public static void main(String[] args) { int a = 0; int b = 0; int c = 0; int d = 0; for (a = -100; a <= 100; a++) { for (b = -100; b <= 100; b++) { for (c = -100; c <= 100; c++) { for (d = -100; d <= 100; d++) { if(a+b==8&&c-d==6&&a+c==14&&b+d==10){ System.out.println("a:"+a); System.out.println("b:"+b); System.out.println("c:"+c); System.out.println("d:"+d); } } } } } } }


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


问答区域    
2021-04-27 黄金分割
linkMo




package j2se; //寻找某两个数相除,其结果 离黄金分割点 0.618最近 //分母和分子不能同时为偶数 //分母和分子 取值范围在[1-20] public class A0618 { public static void main(String[] args) { double temp; //临时存放差值 double diff=1; //存放最小差值 double num= 0; //存放分子除以分母的值 double fenzii = 0; //存放差值最小的分子 double fenmuu = 0; //存放差值最小的分母 for (double fenzi = 1; fenzi <= 20; fenzi++) { //分子1~20循环 for (double fenmu = 1; fenmu <= 20; fenmu++) { //分母1~20循环 if (fenzi % 2 == 0 && fenmu % 2 == 0) continue; //若同时偶数,则跳过计算,继续进入循环 num=fenzi/fenmu; //计算分子除以分母 得数 temp=(num-0.618)<0?-(num-0.618):(num-0.618); //计算得数与0.618的差值,取绝对值,差值越小表示越接近黄金分割点 if(temp<diff) { //计算的差值与存放的最小差值对比,存放最小差值diff diff=temp; //存入新的最小差值 fenzii=fenzi; //存入最小差值的分子 fenmuu=fenmu; //存入最小差值的分母 } } } System.out.println("最接近黄金分割的值:"+fenzii/fenmuu); System.out.println("分子:"+fenzii); System.out.println("分母:"+fenmuu); } }
package j2se;
//寻找某两个数相除,其结果 离黄金分割点 0.618最近
//分母和分子不能同时为偶数
//分母和分子 取值范围在[1-20]

public class A0618 {
	public static void main(String[] args) {
		double temp;			//临时存放差值
		double diff=1;			//存放最小差值
		double num= 0;			//存放分子除以分母的值
		double fenzii = 0;		//存放差值最小的分子
		double fenmuu = 0;		//存放差值最小的分母

		for (double fenzi = 1; fenzi <= 20; fenzi++) {			//分子1~20循环
			for (double fenmu = 1; fenmu <= 20; fenmu++) {		//分母1~20循环
				if (fenzi % 2 == 0 && fenmu % 2 == 0)
					continue;									//若同时偶数,则跳过计算,继续进入循环
				num=fenzi/fenmu;								//计算分子除以分母 得数
				temp=(num-0.618)<0?-(num-0.618):(num-0.618);	//计算得数与0.618的差值,取绝对值,差值越小表示越接近黄金分割点
				if(temp<diff) {									//计算的差值与存放的最小差值对比,存放最小差值diff
					diff=temp;									//存入新的最小差值
					fenzii=fenzi;								//存入最小差值的分子
					fenmuu=fenmu;								//存入最小差值的分母
				}
			}
		}
		System.out.println("最接近黄金分割的值:"+fenzii/fenmuu);
		System.out.println("分子:"+fenzii);
		System.out.println("分母:"+fenmuu);
	}
}

							


5 个答案

Whats_cookin
答案时间:2021-06-14
用户名
答案时间:2021-06-06
double a = 0;// double b = 0;// double c = 100;//ab相除离0.618距离绝对值 for (double i = 1; i <= 20; i++) { for (double j = 1; j <= 20; j++) { if ((i%2 == 0) & (j%2 == 0)) { System.out.println("i="+i+"j="+j+"跳过"); continue; } if (c == 100) {//第一次计算 a = i; b = j; c = Math.abs(i/j-0.618); } if (Math.abs(i/j-0.618) < c) { a = i; b = j; c = Math.abs(i/j-0.618); } System.out.println(i+"/"+j+"="+(i/j)); } } System.out.println("结果:"+a+"/"+b+"="+(a/b));

aaadddsss
答案时间:2021-06-02
whcnp
答案时间:2021-05-21
1.break 有时候我们想在某种条件出现的时候终止循环而不是等到循环条件为false才终止。这时我们可以使用break来 完成。break用于完全结束一个循环,跳出循环体执行循 环后面的语句。 2.continue continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全 终止循环。可以理解为continue是跳过当次循环中剩下的语句,执行下一次循环。 3、自己理解:两个for循环里使用break则直接跳出内循环,开始继续执行外循环。 使用continue则跳出当前 语句,继续执行内循环。

正在努力中的程序猿
答案时间:2021-05-11



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2021-04-27 小学算术题
linkMo




//a+b=8 //c-d=6 //a+c=14 //b+d=10 计算abcd //手算:a+b+c=19 2a+b+c=22 a=3 b=5 c=11 d=5 public class _3calc { public static void main(String[] args) { //俩数相加最高14,则每个数循环到14即可 for (int a = 1; a <= 14; a++) { for (int b = 1; b <= 14; b++) { for (int c = 1; c <= 14; c++) { for (int d = 1; d <= 14; d++) { if (a + b == 8 && c - d == 6 && a + c == 14 && b + d == 10) { //满足4个条件则输出对应的数 System.out.println("a:" + a); System.out.println("b:" + b); System.out.println("c:" + c); System.out.println("d:" + d); } } } } } } }
//a+b=8
//c-d=6
//a+c=14
//b+d=10		计算abcd

//手算:a+b+c=19		2a+b+c=22		a=3		b=5		c=11	d=5

public class _3calc {
	public static void main(String[] args) {	//俩数相加最高14,则每个数循环到14即可
		for (int a = 1; a <= 14; a++) {
			for (int b = 1; b <= 14; b++) {
				for (int c = 1; c <= 14; c++) {
					for (int d = 1; d <= 14; d++) {
						if (a + b == 8 && c - d == 6 && a + c == 14 && b + d == 10) {
												//满足4个条件则输出对应的数
							System.out.println("a:" + a);
							System.out.println("b:" + b);
							System.out.println("c:" + c);
							System.out.println("d:" + d);
						}
					}
				}
			}
		}
	}
}

							


3 个答案

用户名
答案时间:2021-06-06
循环次数设置14,从0开始循环

aaadddsss
答案时间:2021-06-03
public static void main(String[] args) { int one; int two; int the; int fore; for(int a=0;a<20;a++){ for(int b=0;b<20;b++){ for (int c=0;c<20;c++){ for (int d=0;d<20;d++){ one = a+b; two = c-d; the = a+c; fore = b+d; if(one == 8 & two == 6 & the == 14 & fore == 10){ System.out.println("a:"+a+";b:"+b+";c:"+c+";d:"+d); break; } } } } } }

何玫等我
答案时间:2021-05-19



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2021-04-27 水仙花数
2021-04-27 水仙花数
2021-04-26 黄金分割


提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 251 条以前的提问,请 点击查看

提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 JAVA 基础-控制流程-综合练习 的提问

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

上传截图