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

为什么输出的是0啊,而不是需要的最小值啊,求详细解释

为什么输出的是0啊,而不是需要的最小值啊,求详细解释

乐享天机 2018-07-19 12:36:53
//求最小值//  //  int[] arr={35,23,90};//  int min=0;//  for(int i=0;i<arr.length;i--){//   //   if(arr[i]<min){//    arr[i]=min;//   }//   //  }//  System.out.println(min);
查看完整描述

2 回答

?
慕移动4708697

TA贡献45条经验 获得超22个赞

int[] arr = {35,23,90};		
int min = arr[0];		
for(int i = 0;i<arr.length;i++){			
    if (arr[i]<min) {				
        min = arr[i];			
    }	
}		
System.out.println("最小值是:"+min);

既然要获取到数组中的最小值,那么首先要把数组中的一个值赋给最小值的变量min,而不是你自己设置min等于0,如果你自己设置min=0 那么数组中没有比0更小的 所以只能输出0了。。

查看完整回答
2 反对 回复 2018-07-19
?
qq_承诺_2

TA贡献11条经验 获得超2个赞

35 25 90  小于 0   是永远不成立的,希望你用debug启动逐行去看结果。

查看完整回答
反对 回复 2019-09-17
?
skjdkjs

TA贡献2条经验 获得超0个赞

导入import java.util.Arrays;类
对数组进行排序:

Arrays.sort(arr);

System.out.println(arr[0]);
就可以得到最小值了

查看完整回答
反对 回复 2018-07-20
?
skjdkjs

TA贡献2条经验 获得超0个赞

你是要获得数组的最小值吧?

查看完整回答
反对 回复 2018-07-20
?
qq_沉默于心_0

TA贡献1条经验 获得超0个赞

= 的含义是赋值,不是直等

查看完整回答
反对 回复 2018-07-20
?
慕慕2167367

TA贡献1条经验 获得超0个赞

if判断三次条件都不成立,直接打印min就是0,要先知道他是怎么一步步走的,就知道了

查看完整回答
反对 回复 2018-07-19
?
王锦博

TA贡献5条经验 获得超0个赞

arr[i]=min;

改成

min=arr[i];

i-- 改成 i++

查看完整回答
反对 回复 2018-07-19
?
yanrun

TA贡献317条经验 获得超240个赞

初始条件写错了,应该是int min = arr[0];

查看完整回答
反对 回复 2018-07-19
  • 乐享天机
    乐享天机
    为什么呢
  • yanrun
    yanrun
    求arr数组中的最小值,0不在数组里把它当做假定值没有意义啊.应该从数组中找一个数最为假定值,位置不重要,然后用其他的数和他比
  • 2 回答
  • 0 关注
  • 3141 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信