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! Zitieren
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. Zitieren
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. Zitieren
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". Zitieren
IT-Kaetzchen Geschrieben 10. April 2013 Autor Geschrieben 10. April 2013 Achso klar! Danke, ich versuchs nach der Mittagspause gleich mal Zitieren
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? Zitieren
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. Zitieren
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. Zitieren
uenetz Geschrieben 10. April 2013 Geschrieben 10. April 2013 :confused: Beide Schleifen im Struktogramm sind fußgesteuert. Okay, ich war PLIND ... tschuldigung Zitieren
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? Zitieren
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. Zitieren
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. Zitieren
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) Zitieren
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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.