哪位大神帮帮忙

来源:6-6 编程练习

慕雪1171666

2017-12-23 22:08

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

写回答 关注

3回答

  • ApiDemos星仔
    2017-12-23 22:32:28
    已采纳

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

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

    慕雪1171...

    非常感谢!

    2017-12-26 19:47:27

    共 1 条回复 >

  • 慕仰5995767
    2017-12-25 16:33:57

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

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

    慕雪1171...

    谢谢前辈,只能有一个采纳,你说的很详细,现在已经理解了

    2017-12-26 19:49:18

    共 1 条回复 >

  • 慕田峪4281020
    2017-12-23 22:35:30
    因为nums[0]与min是不同的变量,自然就会有不同的结果!!!


Java入门第一季(IDEA工具)升级版

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

1167347 学习 · 18629 问题

查看课程

相似问题