Ich versuche, wenn jeder Eingang liefert ein Benutzer zu bestimmen, die max
oder min
aus all ihren Eingängen ist, und weisen Sie dann die Eingabe in eine Variable high
oder low
Benötigen Eingänge Bestimmung Maximum und Minimum Benutzer helfen
int inputnum = 0;
double sum = 0;
double lastinput = 0;
double high;
double low;
double average;
Scanner input = new Scanner(System.in);
high = 0;
low = 0;
do {
System.out.println("Enter a number. Type 0 to quit.");
lastinput = input.nextDouble(); //reads input
sum += lastinput; //add to sum
if (lastinput != 0) {
inputnum += 1; //counts number of inputs (except 0)
}
if (lastinput > high && lastinput != 0) {
high = lastinput;
}
if (lastinput < low && lastinput != 0) {
low = lastinput;
}
average = (sum/inputnum);
} while (lastinput !=0); //repeat unless user inputs 0
Das Problem ist, dass ich die Variable nicht deklarieren kann, ohne ihm einen Wert zuzuordnen (zum Beispiel 0). Wenn ein Benutzer beispielsweise 3
, 5
und 7
eingibt, wird der Wert low
immer noch als 0
definiert.
Zweite Lösung wird auch das seltsame Verhalten der ersten Lösung loswerden, wenn keine Eingaben gegeben sind (in diesem Fall hat die erste Lösung "low>' high "). +1 –
Ja @JiriTousek. Aber das ist nur ein Eckfall und kann für jede Art und Weise gesorgt werden, die der Programmierer auch möchte. Es hängt von einem Coder zu einem Coder ab. – 97amarnathk