Ich versuche, ein einfaches Programm zu schreiben, das eine Anzahl von Eingaben vom Benutzer nimmt und die Höchstzahl (Höchste Nummer) Minzahl (Niedrigste Zahl) und den Durchschnittswert erzeugt.While-Schleifen werden ignoriert
Bisher habe ich den Code geschrieben, aber festgestellt, dass die zweite und dritte while-Schleife ignoriert wurden. Ich habe dies getestet, indem ich println ausgegeben habe. Ich bin neu in Java, aber jede Hilfe ist willkommen :)
public void analyseInput() {
UI.clearText();
UI.print("input (end with 'done')");
double sum = 0;
double i=0;
for(i=0; UI.hasNextDouble(); i++){ //average
double amt = UI.nextDouble();
sum = (sum + amt);
}
UI.println("test0");
int maxAge = 0;
while(UI.hasNextDouble()){ //max
int age = UI.nextInt();
while(age>maxAge){
maxAge = age;
UI.println(maxAge);
}
}
double minAge = 0;
while(UI.hasNextDouble()){ //min
double age = UI.nextDouble();
if(age<minAge){
minAge = age;
}
}
double average = sum/i;
UI.nextLine(); // to clear out the input
UI.println(average);
UI.println(minAge);
}
Die Bedingung für Ihre while-Schleifen ist 'UI.hasNextDouble()'. Wenn es keine Doppelgänger mehr gibt, wird dies als falsch ausgewertet und es wird offensichtlich nicht in die Schleife eintreten. –