how2j.cn

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

步骤 1 :

练习-黄金分割点

edit Or  姿势不对,事倍功半! 点击查看做练习的正确姿势
寻找某两个数相除,其结果 离黄金分割点 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 Or  姿势不对,事倍功半! 点击查看做练习的正确姿势
水仙花数定义:
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 Or  姿势不对,事倍功半! 点击查看做练习的正确姿势
提示使用多层循环嵌套解决
练习-小学算术题
步骤 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公众号,关注后实时获知最新的教程和优惠活动,谢谢。


问答区域    
2020-11-15 第一题解法
David德芙




比较temp与min大小,min会越来越小
              float  min = 1f,temp,i,j;
              float a = 1f,b = 1f;
              for(i = 1; i < 21; i++){
                  for(j = 1; j < 21; j++){
                      if(i%2 == 0 && j%2 == 0 )
                          continue;
                      temp = Math.abs(i/j - 0.618f);
                      if(temp < min){
                          min = temp;
                          a = i;
                          b = j;
                          System.out.println(min);
                      }
                  }
              }
              System.out.println(a + "\n" + b + "\n" + a/b);

							





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





2020-11-13 一二三题答案总结
uziiiiiii




总结了一下三题的答案
//控制流程综合练习 - 黄金分割点
		
		  double b = 1.618; 
		  int n = 0 ; 
		  int m = 0; 
		  for (int i = 1; i < 21; i ++) { 
			  for(int j = 1; j < 21; j++) {
				  double a = i/j; 
				  if (i % 2 == 0 && j % 2 ==0) 
					  continue; 
				  if (i > j) 
					  continue;
				  if (Math.abs(a-0.618) < Math.abs(b-0.618)) { 
					  b = a; n = i; m = j; 
					  } 
				  } 
			  }
		  	System.out.println("离黄金分割点(0.618)最近的数是:" + n + "/" + m +"="+b);
		

// 控制流程综合练习 -输出水仙花数
		
		  System.out.println("水仙花数有:"); 
		  for (int i = 100; i < 1000; i ++) { 
			  int j = i /100; 
			  int k = (i / 10) % 10; 
			  int l = i % 10; 
			  if (i == j*j*j + k*k*k + l*l*l)
				  System.out.println(i); }

//控制流程综合练习 - 小学算术题
                 //方法1
		Start:
			for (int a = 0; a < 8; a ++) {
				for (int b = 0; b < 8; b ++) {
					for (int c = 0; c < 14; c ++) {
						for (int d = 0; d < 10; d ++) {
							if (a + b == 8 && a + c == 14 && b + d == 10 && c - d == 6) {
								System.out.println("a = "+a+"\n b = "+b+"\n c = "+c+"\n d = "+d);
								break Start;
							}
							else
								continue;
								
						}
					}
				}
			}
	
			// 方法2
			for (int i = 0; i < 8; i++)
			{
				int a = 8-i;
				int b = 14-i;
				int c = 10-a;
				if(b == c+6) System.out.format("%d + %d = 8\n"
						+ "+   +\n"
						+ "%d - %d = 6\n"
						+ "||   ||\n"
						+ "14   10", i, a, b, c);
			}

							





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





2020-11-09 为什么第一题必须double转换
2020-10-18 答案记录
2020-10-16 第一题分析解答


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

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

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

上传截图