Ich mache meine Hausaufgaben von meiner Uni, aber ich bin ziemlich mit dieser Frage zu kämpfen: In ganzen Zahlen lesen, bis der Benutzer -1 eingibt. Wenn es mindestens 3 Werte gibt, zeigen Sie den Durchschnitt ohne die größte und kleinste Zahl an. Dies ist mein Code, aber es scheint, als würde es nicht die größte und die kleinste Zahl loswerden, um den Durchschnitt zu erhalten.Min Max in BlueJ
import java.util.Scanner;
public class MiddleAverage {
public static void main(String[] args) {
int sum;
int count;
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
double average;
sum = 0;
count = 0;
average = 0;
Scanner scanner = new Scanner(System.in);
System.out.print("Value: ");
int value = scanner.nextInt();
while (value != -1)
{
if (value < min)
min = value;
if (value > max)
max = value;
System.out.print("Value: ");
value = scanner.nextInt();
count++;
sum = sum + value;
average = sum/count;
}
if (value == -1)
{
System.out.println("Middle average is: " + average);
}
}
}
Haben Sie eine Idee dazu, bitte erklären Sie mir. Vielen Dank!
Sie behalten die 'min' und' max' Werte im Auge, aber Sie tun nie etwas mit ihnen. Wenn Sie sie vor dem Drucken des Durchschnitts loswerden wollen, müssen Sie den Code schreiben, der das tut. –
Hey vielen Dank für Ihren Vorschlag. Eine weitere Frage ist, dass der Code das innerhalb der "while" -Schleife oder innerhalb der "If" -Schleife ausführt. Danke – COI
Dort _is no_ if Schleife. Es gibt nur wenn Aussagen. –