为了账号安全,请及时绑定邮箱和手机立即绑定

哪位大神帮帮忙

大神们我想请教下为什么最小值我输入if(nums[i]<nums[0]){min=nums[i];}得出的是20,而把nums[0]改成min得出的就是4了呢?

正在回答

3 回答

原代码意思是如果nums[i]比nums[0]小,那就把nums[i]的值赋给min;

你把条件里的nums[0]改成min,意思就变成:如果nums[i]的值比min小,那就把nums[i]的值赋给min;

0 回复 有任何疑惑可以回复我~
#1

慕雪1171666 提问者

非常感谢!
2017-12-26 回复 有任何疑惑可以回复我~

循环只要小于nums[0]  min就会被当前nums[i]赋值,如果i的值代表20 ,那么15比20小,就会赋值15,再循环一次,18的值比20小就会赋值min为18,这个逻辑本身就不合理

为min时是个变量,已经取值为小值,继续循环遇见比当前min还小的值,才会重新赋值为更小的值,逻辑对,所以结果对

0 回复 有任何疑惑可以回复我~
#1

慕雪1171666 提问者

谢谢前辈,只能有一个采纳,你说的很详细,现在已经理解了
2017-12-26 回复 有任何疑惑可以回复我~
因为nums[0]与min是不同的变量,自然就会有不同的结果!!!


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)
  • 参与学习       1168030    人
  • 解答问题       18753    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

哪位大神帮帮忙

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号