2016-04-01 7 views
-4

Ich habe einen Auftrag zu machen Java-Code Methoden aus den folgenden Algorithmen (Pseudo-Code) zu machen:Warum erhalte ich bei meinen Algorithmusimplementierungen falsche Ergebnisse?

public int getHighest() 
    { 
     int highest = marks[0]; 

     for (int i=0; i < count +1; i++){ 

      if(i > highest) 

       highest = i;} 

     return highest; 

     } 

public int getLowest() 
    { 
      int lowest = marks[0]; 

      for (int i=0; i < count +1; i++){ 


       if(i < lowest) 

        lowest = i;} 

      return lowest; 

      } 

    } 

Es läuft aber der höchste Wert 5 ist immer:

Design Algorithm CalcLowest 
var lowest = first value in the array numList 
For index=1 to count-1 
If value at index is less than lowest 
Set lowest to value at index 
End if 
End loop 

Design Algorithm CalcHighest 
var highest = first value in the array numList 
For index=1 to count-1 
If value at index is greater than highest 
Set highest to value at index 
End if 
End loop 

ich folgendes geschrieben und am niedrigsten ist immer 0. Warum?

+0

Sie vergleichen 'I' zum niedrigsten, sollten Sie' Marken [i] 'zum niedrigsten –

+0

Dank bekam es jetzt :-) – Delamitri

Antwort

0

Sie vergleichen i

if(i < lowest) 

i für jedes Mal, wenn Sie Schleife erhöht wird zum niedrigsten. so niedrigste und höchste wird immer die gleiche wie die Anzahl der Male, die Sie Schleife.

Anstatt mit i zu vergleichen, vergleichen Sie mit dem Wert bei Platznummer i im Array.

+1

werden Dank vergleichen, die :-) – Delamitri

+0

gearbeitet Wenn es so wählen, wie die Antwort auf Ihre Frage :) – Ldvg

Verwandte Themen