Hey Leute, ich bin wirklich neu in Java, und ziemlich schrecklich in Mathe, ich soll ein Programm machen, das den Benutzer einen Wert eingeben kann, habe es gemittelt, es ausgedruckt, und erlaube dann die Eingabe eines anderen Wertes, lasse es gemittelt werden, und drucke und fahre fort. Gehe ich falsch, wenn ich am Ende jeder Eingabe durch 2 dividiere oder was?Versuche, Durchschnitt jedes Mal, wenn etwas hinzugefügt wird
Antwort
Durchschnitt ist die Summe aller Zahlen dividiert durch die Anzahl der Zahlen in der Summe.
Was Sie hier tun, ist nicht durchschnittlich. Sie addieren die Hälfte jeder neuen Zahl zur Gesamtsumme. Ich tue nicht was du hier machst.
Nur um die Dinge besser verständlich, lassen Sie uns einen sum
machen und ein counter
:
public class GradeAvg {
public static void main(String[] args) {
int sum;
int counter;
// ...
}
}
Jedes Mal, wenn Sie für eine Reihe stellen, erhöhen Sie den Zähler und fügen Sie die neue Nummer sum
:
int newNumber;
// ask for input
newNumber = input.nextInt()
sum += newNumber;
counter++;
Sie können dann Ausgabe der Durchschnitt wie folgt aus:
System.out.println("The average is: " + (double)sum/counter);
Das ist falsch. Jede Zahl, die Sie hinzufügen, beträgt 50% gegenüber den anderen Zahlen. müssen Sie die Anzahl (Anzahl der Elemente) und die Summe verfolgen und jedes Mal die Summe durch die Anzahl der Elemente teilen.
(OLD_AVERAGE * OLD_COUNT + NEW_NUMBER)/(OLD_COUNT + 1)
oder nur SUM und COUNT und jedes Mal MITTELWERT = SUMME
: so dass jedes Mal, wenn Sie eine Nummer der Funktion sein sollte hinzufügen /ANZAHL. inc. Zähle jede neue Zahl um 1. Summe durch die eingegebene Zahl.komplette funktionierende lösung ... hoffe es hilft ...
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double sum = 0;
int count = 1;
double average = 0;
System.out.print("Please Enter the " + count + " grade being added to the average:");
for (; count <= 5;) {
sum = sum + input.nextInt();
average = sum/count;
System.out.println("The average is now: " + average);
count++;
if (count <= 5)
System.out.println("Please enter the " + count + " grade being averaged:");
}
input.close();
}
- 1. IOException jedes Mal, wenn ich versuche, alles auf Android-Emulator
- 2. Xcode 7 stürzt jedes Mal ab, wenn ich versuche, etwas in der Debugger-Konsole zu drucken
- 3. Inkrementieren jedes Mal, wenn Skript ausgeführt wird
- 4. Jedes Mal, wenn die Schaltfläche geklickt wird, wird MVVM verwendet.
- 5. PS-Befehle jedes Mal ausführen, wenn eine Datei einem Ordner hinzugefügt wird
- 6. Sollte AcceptChanges() jedes Mal aufgerufen werden, wenn eine neue Zeile hinzugefügt wird?
- 7. C# Ändern anderer Werte jedes Mal, wenn etwas mit mvvm geändert wird
- 8. Wie man jedes Mal etwas tut, wenn der "erste Typ" gefunden wird?
- 9. Aufruf if-Anweisung jedes Mal, wenn eine Eingabe geändert wird
- 10. Einen Cronjob jedes Mal anpassen, wenn er ausgeführt wird?
- 11. Aktivität erhöht RAM verwenden jedes Mal, wenn es gestartet wird
- 12. Broadcast-Empfänger wird nicht jedes Mal aufgerufen
- 13. UIAlertController: UICollectionViewFlowLayout ist nicht definiert Warnung jedes Mal, wenn ich versuche, ein UIAlertcontroller
- 14. Chrome Prerender-Funktion wird jedes Mal abgebrochen
- 15. Xcode wird unerwartet beendet, jedes Mal wenn ich Xcode öffnen
- 16. Namensschild, das sich jedes Mal überschneidet, wenn es geladen wird
- 17. Zufällige Farbe jedes Mal, wenn auf die Schaltfläche geklickt wird
- 18. Wird [NSString-Hash] jedes Mal berechnet?
- 19. SharedPreferences wird zurückgesetzt, jedes Mal die App
- 20. Der Dialog wird jedes Mal angezeigt?
- 21. IAuthorizationFilter wird nicht jedes Mal aufgerufen
- 22. Nicht jedes Mal anzeigen, wenn startUpdatlocation
- 23. Ereignissignal wird jedes Mal zweimal ausgegeben
- 24. -Code leer jedes Mal
- 25. Xcode Absturz jedes Mal, wenn ich versuche, meine Quellcode zu ändern
- 26. FullGC passiert jedes Mal, wenn CMS arbeiten
- 27. Rückruf jedes Mal, wenn Unterprozess druckt
- 28. FBSessionStateClosedLoginFailed jedes Mal, wenn ich versuche und mich an meiner App anmelden
- 29. Jedes Mal, wenn ich versuche zu deploy ich bekomme - (gcloud.preview.app.deploy) Fehlerantwort: [4] DEADLINE_EXCEEDED
- 30. Console.SetWindowPosition -> zentriert (jedes Mal)