Durschnitt berechnen von eingegebener Zahl bis 1 heruntergezählt

TanTanIsTrying

Mitglied
Hallo!
Ich arbeite gerade daran für meine Prüfung in der Uni zu lernen und habe eine Aufgabe entdeckt mit der ich leider nicht klar komme.
Der erste Teil der Aufgabe besteht daraus ein Programm zu erstellen, dass eine Zahl einliest und diese dann bis 1 herunterzählt. Dann soll die Summe dieser Werte berechnet werden. Das habe ich auch hinbekommen. So sieht mein Code dafür aus:

Java:
public class WhileSchleifeDurchschnitt {
        
    public static void main (String[] args) {
        System.out.println("Gib nen Wert ein: ");
        int Wert = new java.util.Scanner(System.in).nextInt();
        int summe = 0;
        
        while (Wert>0) {
            System.out.print(Wert + " ");
            summe = summe + Wert;
            Wert--;
        }
        
    System.out.println("= " + summe);
        
    }
}

Jetzt habe ich aber ein Problem mit dem nächsten Teil der Aufgabe. Und zwar soll nun der Durchschnitt der ganzen Werte berechnet werden. Ich hätte dann am Ende einfach System.out.println("= " + summe/Wert); geschrieben. Aber das macht ja keinen Sinn, da der Wert jetzt nicht mehr bei der eingelesenen Zahl am Anfang liegt, sondern bei 0.

Könnte mir vielleicht jemand einen Tipp geben? Danke :D
 

Tarrew

Top Contributor
Am besten den Anfangswert in einer separaten Variable speichern, die du entsprechend nicht veränderst. Dann weißt du am Ende noch den eingegebenen Wert.

Java:
int wert = new java.util.Scanner(System.in).nextInt();
int tmpWert = wert;
Dann für die erste Aufgabe mit tmpWert rechnen.
 

TanTanIsTrying

Mitglied
Am besten den Anfangswert in einer separaten Variable speichern, die du entsprechend nicht veränderst. Dann weißt du am Ende noch den eingegebenen Wert.

Java:
int wert = new java.util.Scanner(System.in).nextInt();
int tmpWert = wert;
Dann für die erste Aufgabe mit tmpWert rechnen.
So hab ichs jetzt gemacht und es funktioniert. Vielen Dank!

Jetzt soll ich das gleiche nochmal mit einer for-Schleife machen... Bis jetzt sieht mein Code so aus:
Java:
public class Forschelife {
    
    public static void main (String[] args) {
        System.out.println("Gib einen Wert an: ");
        int summe = 0;
        
        for (int Wert = new java.util.Scanner(System.in).nextInt(); Wert>0; Wert--) {
            System.out.print( Wert + " ");
            summe = Wert + summe;
        }
        
        System.out.println("= " + summe);
    }
            
        
}

Mein Problem hier ist jetzt nur, dass ich nicht ganz verstehe an welcher Stelle ich die Anfangsvariable einsetzen soll, da die Variable "Wert" ja erst in der For-Schleife deklariert wird. Wenn ich die Variable "tmpWert" erst danach deklariere dann wird sie ja auch immer wieder neu deklariert bis die Schleife fertig ist...
 
Zuletzt bearbeitet:

TanTanIsTrying

Mitglied
Du solltest den Wert analog zu der Summe vor der Schleife einlesen. So machst du es im Beispiel mit der while-Schleife ja auch.
Java:
public class ForSchleifeDurchschnitt {
    public static void main (String[] args) {
       System.out.println("Gib einen Wert an: ");
        int summe = 0;
        int Wert = new java.util.Scanner(System.in).nextInt();
        int Anzahl = Wert;
        
!!      for (Wert>0; Wert--) {
            System.out.print( Wert + " ");
            summe = Wert + summe;
        }
        
        System.out.println("= " + summe/Anzahl);
    }
}

Da kommt bei mir aber ein Error (Bei den Ausrufezeichen), weil der Wert bei For-Schleifen ja eigentlich in der Klammer deklariert werden sollte.
 

Tarrew

Top Contributor
Die for-Schleife erwartet drei Ausdrücke, du kannst nicht einfach einen weglassen. Du kannst die Zählerinitialisierung aber leer lassen.
Java:
for (; Wert>0; Wert--)
Oder eben den Wert außerhalb der Schleife deklarieren und in der Schleife initialisieren.
 

temi

Top Contributor
Da in Java Variablennamen mit einem Kleinbuchstaben beginnen sollten: Wert => wert, Anzahl => anzahl.

So etwas sollte man sich von Anfang an richtig angewöhnen.
 

Blender3D

Top Contributor
Vielen Dank! Das macht Sinn :]
Eine gute Idee ist es ebenfalls die einzelnen Schritte in Funktionen zu zerlegen.
[CODE lang="java" title="ForSchleifeDurchschnitt" highlight="7-11"]import java.util.Scanner;

public class ForSchleifeDurchschnitt {
private final static Scanner input = new Scanner(System.in);

public static void main(String[] args) {
int wert = inputInt("Gib einen Wert an: ");
int summe = getGaussSum(wert);
printCountDown(wert);
System.out.println("= " + summe);
System.out.println("Durchschnitt = " + summe / wert);
}

private static int getGaussSum(int wert) {
return (wert * (wert + 1)) / 2;
}

private static void printCountDown(int n) {
for (; n > 0; n--)
System.out.print(n + " ");
}

/**
* Einlesen einer ganzen Zahl vom Benutzer. Bei einer Fehleingabe wird die
* Eingabe wiederholt.
*
* @param label
* Angezeigter Text auf der Konsole
* @return int
*/
private static int inputInt(String label) {
int value = 0;
boolean ok = false;
do {
System.out.print(label + " >");
String str = input.next();
if (!isInteger(str))
System.out.println("Bitte nur ganze Zahlen eingeben!");
else {
ok = true;
value = Integer.parseInt(str);
}
} while (!ok);
return value;
}

/**
* Testet den String auf einen gültigen Integerwert
*
* @param str
* @return boolean
*/
private static boolean isInteger(String str) {
for (int i = 0; i < str.length(); i++) {
if (!Character.isDigit(str.charAt(i)))
return false;
}
return true;
}
}[/CODE]
 

jari

Aktives Mitglied
Hier lohnt sich auf jeden Fall auch ein Blick auf: https://www.baeldung.com/java-stream-sum

Java:
import java.util.stream.*;

public class MyClass {
    public static void main(String args[]) {
        int max = 14;
        // (1+2+...+max)/max (mittlere Gauß-Summe)
        System.out.println(IntStream.rangeClosed(1, max).mapToObj(Double::valueOf).reduce(0.0, (a, b) -> a + b / max));
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M OOP Brüche nicht richtig berechnen Java Basics - Anfänger-Themen 3
V Durchschnittliche Volatility in Prozent für 4 Stunden berechnen Java Basics - Anfänger-Themen 14
T Fibonacci mit einer Hilfsmethode berechnen Java Basics - Anfänger-Themen 10
laxla123 Quersumme berechnen Java Basics - Anfänger-Themen 1
I For Schleife Summe berechnen Java Basics - Anfänger-Themen 13
S Vollmond berechnen und ausgeben Java Basics - Anfänger-Themen 12
S Vollkommene Zahl berechnen und ausgeben Java Basics - Anfänger-Themen 16
A Berechnen Moor Nachbarschaft Java Basics - Anfänger-Themen 5
E Geburtstag im Schaltjahr berechnen Java Basics - Anfänger-Themen 24
Lion.King Schaltjahr berechnen Java Basics - Anfänger-Themen 31
E Alter (Laufzeit) berechnen Java Basics - Anfänger-Themen 11
I Zuschläge berechnen Java Basics - Anfänger-Themen 15
L mit Fakultät mathematische Formel berechnen Java Basics - Anfänger-Themen 5
L Präfix berechnen Java Basics - Anfänger-Themen 33
F Abstand zwischen zwei Objekten berechnen wie? Java Basics - Anfänger-Themen 1
Aemulit Java Schaltjahr berechnen Code Java Basics - Anfänger-Themen 7
Poppigescorn Quersumme Berechnen mit einer While Schleife Java Basics - Anfänger-Themen 13
I Potenz berechnen mit for-Schleife Java Basics - Anfänger-Themen 3
A Standardabweichung in Java berechnen Java Basics - Anfänger-Themen 10
H Gesamtabweichung mit Array berechnen Java Basics - Anfänger-Themen 2
G Java Rabatt berechnen Java Basics - Anfänger-Themen 8
V Rückgeld berechnen Java Basics - Anfänger-Themen 6
eleonori Durchschnitt aller Werte eines Baums berechnen Java Basics - Anfänger-Themen 5
Ianatrix Zahlen von a bis b berechnen Java Basics - Anfänger-Themen 7
L Max, min, Summe und Durchschnitt berechnen Java Basics - Anfänger-Themen 4
L Anhalteweg berechnen Java Basics - Anfänger-Themen 6
Aeon Erste Schritte Preise berechnen mit do-while Java Basics - Anfänger-Themen 9
M Quadratwurzel berechnen Java Basics - Anfänger-Themen 8
V Wachstum berechnen und in Ist-Formel verwenden Java Basics - Anfänger-Themen 5
N Variable aus anderen Variablen in statischer Klasse berechnen/abspeichern? Java Basics - Anfänger-Themen 4
M Abschreibungsplan berechnen Java Basics - Anfänger-Themen 23
V Gehalt berechnen in Java Java Basics - Anfänger-Themen 6
justemii Gehalt berechnen - Aufgabe Java-Programm Java Basics - Anfänger-Themen 9
L Anzahl der benachbarten Minen berechnen und setzen Java Basics - Anfänger-Themen 15
J Array Speicherplatz berechnen Java Basics - Anfänger-Themen 35
H Eingabedaten berechnen Java Basics - Anfänger-Themen 9
B Tranportkosten berechnen mit unterschiedlichen MwSt Java Basics - Anfänger-Themen 9
L Anzahl der Paare deren Summe = 0 ergibt berechnen Java Basics - Anfänger-Themen 0
V Erste Schritte Berechnen von Sinus; sin(x) ohne Math.* Java Basics - Anfänger-Themen 1
J Hilfe bei Java Aufgabe (Restschuld berechnen) Java Basics - Anfänger-Themen 11
N Ein Datum berechnen Java Basics - Anfänger-Themen 3
T Sparplan berechnen Java Basics - Anfänger-Themen 4
F Abstand zum Durchschnitt von 5 Zahlen berechnen... Java Basics - Anfänger-Themen 16
B java.util.Date berechnen Java Basics - Anfänger-Themen 11
P Mittelwert Arrayelemente berechnen Fehler Java Basics - Anfänger-Themen 5
CptK Best Practice Schussparabel berechnen Java Basics - Anfänger-Themen 3
T Modulo / Pow berechnen Java Basics - Anfänger-Themen 4
E Statistische Kennzahlen berechnen Java Basics - Anfänger-Themen 2
F Switch Case Modulo berechnen Java Basics - Anfänger-Themen 12
B mehrere Werte mit scanner und while schleife einlesen, max berechnen bzw addieren Java Basics - Anfänger-Themen 2
C Preis berechnen mit Java Java Basics - Anfänger-Themen 4
B Zahl in String abspeichern und später berechnen Java Basics - Anfänger-Themen 15
N Best Practice Image recognition fuzzy Superhash berechnen Java Basics - Anfänger-Themen 1
Dawinartor Erste Schritte Schaltjahr berechnen Java Basics - Anfänger-Themen 1
L Pi berechnen Java Basics - Anfänger-Themen 1
CptK Term (als String) berechnen und ausgeben Java Basics - Anfänger-Themen 10
L Den Winkel zwischen zwei Vektoren berechnen! Java Basics - Anfänger-Themen 2
J Variablen arithmetischen Mittelwert berechnen Java Basics - Anfänger-Themen 5
K Matrixen berechnen nach Worker Master Paradigma mit Threads Java Basics - Anfänger-Themen 4
R Winkel berechnen bzw. Geraden sortieren Java Basics - Anfänger-Themen 33
I Schnittpunkt zweier Geraden berechnen Java Basics - Anfänger-Themen 25
M Erste Schritte Mittelwert berechnen -> Methode in der Methode? Java Basics - Anfänger-Themen 14
S Compiler-Fehler Schaltjahr berechnen Java Basics - Anfänger-Themen 5
B Fakultätsfunktion Rekursiv Berechnen aber mit Array Java Basics - Anfänger-Themen 10
S Durchschnitt berechnen aus zwei Textfeldern Java Basics - Anfänger-Themen 21
D Summe berechnen mit verändertem Wert aus Schleife Java Basics - Anfänger-Themen 1
R Liga Berechnen Java Basics - Anfänger-Themen 1
P Klassen Berechnen mehrerer Map-Werte Java Basics - Anfänger-Themen 13
R Fussballtabellen berechnen Java Basics - Anfänger-Themen 12
J Fibonacci -Folge rekursiv berechnen Java Basics - Anfänger-Themen 18
J Durchschnitt jeder Zeile und und Spalte in einem 2D Arrays berechnen Java Basics - Anfänger-Themen 6
F ISBN Prüfziffer berechnen Java Basics - Anfänger-Themen 17
F Die Teilersumme einer Eingabe berechnen Java Basics - Anfänger-Themen 11
S Negafibonacci Folge berechnen Java Basics - Anfänger-Themen 24
G Array Mittelwert berechnen, wie? Java Basics - Anfänger-Themen 8
S Primzahlen berechnen funktioniert nicht richtig Java Basics - Anfänger-Themen 1
N Mit LocalDate alter berechnen Java Basics - Anfänger-Themen 3
J Laufzeit berechnen/Laufzeitanalyse Java Basics - Anfänger-Themen 2
N Arrays mit Zufallzahlen füllen und Statistiken berechnen Java Basics - Anfänger-Themen 5
A Wochentag berechnen Java Basics - Anfänger-Themen 10
Ste3et_C0st Vectoren berechnen Java Basics - Anfänger-Themen 8
L Durchschnitt in der Schleife berechnen Java Basics - Anfänger-Themen 11
A Kreisumfang/-Fläche vom Kreis berechnen Java Basics - Anfänger-Themen 39
L Wochentag berechnen Java Basics - Anfänger-Themen 5
L Rekursive Methode a * b berechnen Java Basics - Anfänger-Themen 2
B OOP Summe aus verschiedenen Instanzen einer Klasse berechnen Java Basics - Anfänger-Themen 2
N Dauer zwischen zwei LocalDateTime Objekten berechnen? Java Basics - Anfänger-Themen 4
P Ausdrücke berechnen Java Basics - Anfänger-Themen 2
V Mittelwert berechnen Java Basics - Anfänger-Themen 31
H Datentypen Tage zwischen zwei Datums berechnen Java Basics - Anfänger-Themen 4
P Quadrate berechnen Java Basics - Anfänger-Themen 3
S OOP Datumsunterschied in Tagen berechnen Java Basics - Anfänger-Themen 3
M Methoden Aus Timestamp das Datum berechnen Java Basics - Anfänger-Themen 3
B Schaltjahre berechnen! Java Basics - Anfänger-Themen 1
A werte in einem String berechnen Java Basics - Anfänger-Themen 3
F Checksummen aus int-Array berechnen Java Basics - Anfänger-Themen 3
F Toto-Tipp-Reihen berechnen Java Basics - Anfänger-Themen 1
N Threads Exception in thread "main"... Feher bei dem Versuch ein Radius zu berechnen Java Basics - Anfänger-Themen 4
R Quersumme berechnen - Methodenproblem Java Basics - Anfänger-Themen 1
S Button "Berechnen" geht nicht Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben