IT-Kaetzchen Geschrieben 10. April 2013 Geschrieben 10. April 2013 Schon wieder ich Ich hab ein Struktogramm in Java umgesetzt zur Berechnung des Notenschnitts. Mein Code sieht so aus: package notenschnitt; import javax.swing.JOptionPane; public class Notenschnitt { public static void main(String[] args) { int Note = 0; int Summe = 0; int Zähler = 0; double Schnitt; do { do { Summe = Summe + Zähler; Zähler = Zähler + 1; } while (Note < 0 || Note >= 6); } while (Note != 0); if (Zähler < 2) { Schnitt = Summe / (Zähler - 1); JOptionPane.showMessageDialog(null, "Der Schnitt ist " + Schnitt); } else { JOptionPane.showMessageDialog(null, "Es wurde kein Notendurchschnitt berechnet!"); } } } Er bringt mir diese Fehlermeldung: Exception in thread "main" java.lang.ArithmeticException: / by zero at notenschnitt.Notenschnitt.main(Notenschnitt.java:21) Java Result: 1 ERSTELLEN ERFOLGREICH (Gesamtzeit: 0 Minuten 0 Sekunden) Kann mir jemand helfen? Ich finde meinen Fehler nicht! danke schonmal!
Klotzkopp Geschrieben 10. April 2013 Geschrieben 10. April 2013 Ich finde meinen Fehler nicht!Wie kommst du darauf, dass es nur einer ist? Ohne Anspruch auf Vollstandigkeit: - "Eingabe der Note" fehlt - "Summe = Summe + Zähler" und "Zähler = Zähler + 1" sind in der inneren Schleife statt in der äußeren.
IT-Kaetzchen Geschrieben 10. April 2013 Autor Geschrieben 10. April 2013 Wie kommst du darauf, dass es nur einer ist? Sorry?! Okay, ja das mit der Eingabe habe ich verstanden. Was schreib ich denn in die innere Schleife sonst rein? Er soll ja nur weiter machen, wenn die Note größer als 0 und kleiner gleich 6 ist. Aber hab leider keine Ahnung was ich da für eine Anweisung schreiben soll. Die Bedigung ist klar.
Klotzkopp Geschrieben 10. April 2013 Geschrieben 10. April 2013 Was schreib ich denn in die innere Schleife sonst rein?Das, was im Struktogramm in der inneren Schleife steht: "Eingabe der Note".
IT-Kaetzchen Geschrieben 10. April 2013 Autor Geschrieben 10. April 2013 Achso klar! Danke, ich versuchs nach der Mittagspause gleich mal
uenetz Geschrieben 10. April 2013 Geschrieben 10. April 2013 1. Ich würde die Berechnung in eine eigne Methode packen (dann lässt sich die Eingabe vom Wert 0 gut abfangen). 2. Die innere Schleife soll laut Struktogramm auch eine Kopfgesteuerte Schleife sein. Kurze Frage: Bist Du in der Ausbildung? ... Wenn ja, zu was?
Klotzkopp Geschrieben 10. April 2013 Geschrieben 10. April 2013 2. Die innere Schleife soll laut Struktogramm auch eine Kopfgesteuerte Schleife sein.:confused: Beide Schleifen im Struktogramm sind fußgesteuert.
IT-Kaetzchen Geschrieben 10. April 2013 Autor Geschrieben 10. April 2013 1. Ich würde die Berechnung in eine eigne Methode packen (dann lässt sich die Eingabe vom Wert 0 gut abfangen). 2. Die innere Schleife soll laut Struktogramm auch eine Kopfgesteuerte Schleife sein. Kurze Frage: Bist Du in der Ausbildung? ... Wenn ja, zu was? Ich mach eine Ausbildung zur FIAE. 1. LJ. wir hatten noch nicht viel mit Java gemacht bis jetzt. Das wird nächstes Jahr intensiver.
uenetz Geschrieben 10. April 2013 Geschrieben 10. April 2013 :confused: Beide Schleifen im Struktogramm sind fußgesteuert. Okay, ich war PLIND ... tschuldigung
IT-Kaetzchen Geschrieben 10. April 2013 Autor Geschrieben 10. April 2013 Übersehe ich da was? Schon wieder Fehlermeldung! public class Notenschnitt { public static void main(String[] args) { int Note = 0; int Summe = 0; int Zähler = 0; double Schnitt; do { { do { JOptionPane.showInputDialog("Bitte geben Sie die Note ein!"); } while (Note < 0 || Note >= 6); } Summe = Summe + Zähler; Zähler = Zähler + 1; } while (Note != 0); if (Zähler < 2) { Schnitt = Summe / (Zähler - 1); JOptionPane.showMessageDialog(null, "Der Schnitt ist " + Schnitt); } else { JOptionPane.showMessageDialog(null, "Es wurde kein Notendurchschnitt berechnet!"); } } } Fehlermeldung: run: Exception in thread "main" java.lang.ArithmeticException: / by zero at notenschnitt.Notenschnitt.main(Notenschnitt.java:26) Java Result: 1 ERSTELLEN ERFOLGREICH (Gesamtzeit: 0 Minuten 4 Sekunden) Zu viele Klammern?
Klotzkopp Geschrieben 10. April 2013 Geschrieben 10. April 2013 Du zeigst zwar einen Eingabedialog an, aber du tust nichts mit der Eingabe. Insbesondere weist du das Eingegebene nicht der Variablen Note zu.
IT-Kaetzchen Geschrieben 10. April 2013 Autor Geschrieben 10. April 2013 Ja gut, das dacht ich mir vorhin schon. Ich weiß aber trotzdem leider nicht, wie ich das schreiben muss. Leider.
flashpixx Geschrieben 10. April 2013 Geschrieben 10. April 2013 Ich weiß aber trotzdem leider nicht, wie ich das schreiben muss. Warum liest Du Dir nicht mal die Doku zu der verwendeten Komponente durch, da steht das nämlich drin: JOptionPane (Java 2 Platform SE v1.4.2)
IT-Kaetzchen Geschrieben 10. April 2013 Autor Geschrieben 10. April 2013 Ich habs ;-) Es hat auch was in meinem Struktogramm nicht ganz funktioniert. Danke trotzdem
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden