Durchschnitt in der Schleife berechnen

Lestas89

Bekanntes Mitglied
Guten Tag 🙂

Ich will folgendes Programm schreiben zur Übung:

Es soll per Dialogbox eine beliebige Anzahl an Zahlen eingelesen werden. Wenn ich allerdings eine 0 eingebe, soll der Durchschnitt der vorher eingegebenen Zahlen berechnet werden.

Soweit bin ich bisher gekommen:

Java:
import javax.swing.JOptionPane;
class Durchschnitt{
    public static void main(String []args){
   
    boolean b = false;
    String eingabe = "";
    String ausgabe = "";
    int a = 0;
    int c = 0;
   
    while(!b){   
   
    eingabe = JOptionPane.showInputDialog("Geben Sie eine beliebige Zahl ein:");
    a = Integer.parseInt(eingabe);
    c += a;
   
    if(a == 0){
   
    b = true;
    }
   
   
    }
   
    JOptionPane.showMessageDialog(null," Der Durchschnitt beträgt " + c);
   
    }
}

mit int c summiere ich alle Zahlen auf, wie kann ich allerdings daraus den Durchschnitt berechnen? Vielleicht mit einer Methode die ich noch nicht kenne? Ich danke im Voraus 🙂
 
Hallo Dukel,

mit den beliebigen Zahlen durch die Anzahl der Zahlen.

Ich hab es nun mit Inkrementierungen versucht aber leider kriege ich den falschen Durchschnitt ausgegeben.
Wo liegt mein Fehler?

Java:
import javax.swing.JOptionPane;
class Durchschnitt{
    public static void main(String []args){
   
    boolean b = false;
    String eingabe = "";
    String ausgabe = "";
    int a = 0;
    int c = 0;
    int i = 0;
   
    while(!b){   
   
    eingabe = JOptionPane.showInputDialog("Geben Sie eine Zahl ein:");
    a = Integer.parseInt(eingabe);
   
    c += a;
    ++i;
   
    if(a == 0){
   
    c /= i;
   
    b = true;
    }
   
   
    }
   
    JOptionPane.showMessageDialog(null," Der Durchschnitt beträgt " + c);
   
    }
}
 
Was kommt denn beispielsweise heraus und was sollte herauskommen?
Hast du einmal das Programm debuggt, was in welchen Variablen steht und ob das stimmt?
 
Mit Debuggern kenn ich mich noch nicht aus. Ich schreibe die Programme im Notepad. Wenn ich 5 und 5 eingebe kommt als Durchschnitt 3 raus. Da sollte aber 2 rauskommen.
 
Ich glaube ich habs jetzt. Die Inkrementierung war an der falschen Stelle. Ist das so nun alles richtig?

Java:
import javax.swing.JOptionPane;
class Durchschnitt{
    public static void main(String []args){
   
    boolean b = false;
    String eingabe = "";

    int a = 0;
    int c = 0;
    int i = 0;
   
    while(!b){   
   
    eingabe = JOptionPane.showInputDialog("Geben Sie eine Zahl ein:");
    a = Integer.parseInt(eingabe);
   
   
    c += a;
   
   
    if(a == 0){
   
    c /= i;
   
    b = true;
    }
    ++i;
   
    }
   
    JOptionPane.showMessageDialog(null," Der Durchschnitt beträgt " + c + ".");
   
    }
}
 

Zurück
Oben