在这段代码中,-20应该是min,因为它的负数和最远的零是正确的?但是当我运行MinAlgoritm时,打印出整数5。我有一个Max版本的工作正常,但事实并非如此。怎么会这样?我能做出什么改进吗?
class MinAlgorithm
{
public static void main ( String[] args )
{
int[] array = { -20, 19, 1, 5, -1, 27, 19, 5 } ;
int min;
// initialize the current minimum
min = array[0];
// scan the array
for ( int index=0; index < array.length; index++ )
{
if (array[index]<min);
min=array[index];
}
// Print out the result
System.out.println("The minimum of this array is: " + min );
}
}
答案 0 :(得分:1)
更改
if (array[index]<min);
^
min=array[index];
到
if (array[index]<min)
min=array[index];
你的额外;结束if语句,因此无论min=array[index];
是否为真,都始终执行array[index]<min
。
答案 1 :(得分:1)
从第ViewportToWorldPoint
行
答案 2 :(得分:1)
试试这个:)
class MinAlgorithm
{
public static void main ( String[] args ){
int[] array = { -20, 19, 1, 5, -1, 27, 19, 5 } ;
int min;
// initialize the current minimum
min = array[0];
// scan the array
for ( int index=0; index < array.length; index++ ){
if (array[index]<min){
min=array[index];
}
}
// Print out the result
System.out.println("The minimum of this array is: " + min );
}
}
由于“;”您的代码无效之后如果
答案 3 :(得分:0)
我相信在if子句之后有一个分号,使它无用。这就是为什么5是min,因为它是最后一个分配为min的数字。