负整数>正整数?

时间:2015-07-13 05:37:07

标签: java algorithm max min negative-number

在这段代码中,-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 );
 }
}      

4 个答案:

答案 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的数字。