1楼:匿名用户
min初始化为0,你的随机数字始终大于0,所以0最小修改for (int i = 0; i < arr.length; i++)
if (arr[i] < min)}
java中循环输入4个数,求最小值,但是输出最小值结果是0?可以帮我修改一下吗?不明白是什么原因?谢谢了
2楼:匿名用户
哈哈,很郁闷吧?让我来告诉你,因为你之前在没有接受控制台输入的值的时候就给min赋值了,而且赋的是0,所以在以后的判断 jiage[i] 3楼:匿名用户 system.out.println("请输入4家店的**:"); intmin=0; for(inti=0;i<4;i++){system.out.print("第"+(i+1)+"店的**:"); inttemp=input.nextint(); if(temp格是:"+min); 4楼:匿名用户 为什么不是先输入数再比较? 用java输入三个整数,求最大值和最小值,为什么用一个for循环中最小值求出总是0,什么问题呢 5楼:匿名用户 int max=a[0];int min=a[0];有问题最大值和最小值均初始化为0了 a[0]没赋过值,是整数缺省值0 若你输入的数值均是正数,肯定比0大,那么每次最小值均没动还是0(同理若你输入全部是负数,那么最大值最后结果为0)建议修改方案(1)int max=integer.min_value;int min= integer.max_value; 或者(2)输入第一个a[0]后,再将a[0]赋值给max和min 6楼:以花之名 你这样的判断是不合理的,我们打个比方,比如打了三个数字分别是1,2,3的话, 前面啊int a =new int[3];开辟空间,并给三个空间赋上初值0; 第一步:max=0,min=0;//a[0]的值吧? 然后循环判断,if(0<1)//显然是 赋值,if(0>1)//显然也不是,跳过。 第二轮2来了。if(1<2)//是的把a[i]的值赋值给max,在判断(0>2)//不是跳过 第三轮3来了。if(2<3)//是的赋值,再判断0>3 这样最后结果就是max是3,min是0; 如果你非要用这样的方法的话,你只要把min的初始值值改成很大很大的值就可以了,但是不推荐。 以下是合理的做法。 public class maxminvalues } system.out.print("最大值:"+a[max]+"最小值:"+a[min]);}} 7楼:匿名用户 其实这个题目可以不用for循环的你可以把得到的三个整数放到一个int数组里然后再调用arrays.sort(int);这个方法它会自动帮你按数字升序排序你只 要得到数组中的第一个值和最后一个值就可以了**如下 publicstaticvoidmain(stringargs) 8楼:蜀山_风云 原因是因为int数组如果不给初始值的话就等于0,所以起始的时候你的max和min都是0,那么如果你输入的都是正整数的话,就都比0大,到结束的时候你的min还是为0,就不对了,最简单的改法就是给min的初始值为100。因为成绩都是0~100正整数。并且你这样写**有点不规范,成绩一般是0~100(当然也有高于100的情况,比如总分),所以如果是0~100的话就改成这样(当然还有其他的改法): importjava.util.scanner; publicclassmaxminvaluesa[i]=keyinscore; if(max
if(min>a[i]) }system.out.print("最大值:"+max+"最小值:"+min);}} 9楼:匿名用户 你一开始就把min=a[0],而数组a一开始java是自动初始化它的所有元素为0的,所以min=0。这样你后面输入的数字只要是正数肯定都比min大,min当然就一直都是0了。 10楼:匿名用户 那是因为你把min初始化为0了,这句初始化的int min=a[0];当你输入正数的时候最小值当然是0,你可以输入负数,最小值就对了 1楼 输出结果是 罗马假日 当一个对象要进行垃圾 的时候会调用finalize 方法。 因为在下面的 中,变量b从来没有使用过,会被gc 。 book book new book 1 而new book 3 是在一个内存地址中建立的对象,java不确定是否使用过,所以不予 。 高手请解释一下为什么这...解释一下这个java程序输出的结果是什么?为什么