java maximum auslesen?

1 Antwort

Du musst mit jedem Einlesevorgang einen Vergleich anstellen mit der gespeicherten, zweitgrößten Zahl und wenn größer, mit der größten Zahl. Hast du eine neue größte Zahl oder zweitgrößte Zahl gefunden, speicherst du die Zahl und die Nummer des Schleifendurchlaufs.

Das heißt, du brauchst 4 Variablen: 

  • Größter Wert
  • Zweitgrößter Wert
  • Position des größten Werts
  • Position des zweitgrößten Werts

Dazu die Laufvariable für die Position und die Variable, die den eingelesenen Wert aufnimmt.


Woher ich das weiß:Berufserfahrung – Programmierer
besiiix2 
Fragesteller
 19.03.2019, 14:31

Aber wie kann ich die eingegebene Zahl mit der vorherig eingegeben Zahl vergleiche if(n>n){

Größter wert = n }

funktioniert nicht

0
Suboptimierer  19.03.2019, 14:43
@besiiix2

Kann sein, dass du den eingegebenen Wert noch in eine Zahl konvertieren musst. 

Dann Vergleichst du 

if(n > max2)
{
  if(n > max1)
    {max2 = max1; max1 = n;}
  else
    max2 = n;
}

Die Maxima-Variablen darfst du nicht vergessen, zu initialisieren.

Dann müsstest du nur noch die Position in die Logik einflechten.

0
verreisterNutzer  19.03.2019, 15:08
@besiiix2

if(n>n) funktioniert ganz bestimmt nicht, da n immer gleich n ist -- brauchst noch mehr Variablen, wie nur n.

Tipp: Die allererste Eingabe ist auf jeden Fall der größte Wert, erst wenn eine zweite Eingabe folgt, kann es einen anderen "größten Wert" geben

1