Veröffentlicht 10. April 201312 j 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!
10. April 201312 j 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.
10. April 201312 j Autor 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.
10. April 201312 j Was schreib ich denn in die innere Schleife sonst rein?Das, was im Struktogramm in der inneren Schleife steht: "Eingabe der Note".
10. April 201312 j 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?
10. April 201312 j 2. Die innere Schleife soll laut Struktogramm auch eine Kopfgesteuerte Schleife sein.:confused: Beide Schleifen im Struktogramm sind fußgesteuert.
10. April 201312 j Autor 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.
10. April 201312 j :confused: Beide Schleifen im Struktogramm sind fußgesteuert. Okay, ich war PLIND ... tschuldigung
10. April 201312 j Autor Ü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?
10. April 201312 j Du zeigst zwar einen Eingabedialog an, aber du tust nichts mit der Eingabe. Insbesondere weist du das Eingegebene nicht der Variablen Note zu.
10. April 201312 j Autor Ja gut, das dacht ich mir vorhin schon. Ich weiß aber trotzdem leider nicht, wie ich das schreiben muss. Leider.
10. April 201312 j 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)
10. April 201312 j Autor Ich habs ;-) Es hat auch was in meinem Struktogramm nicht ganz funktioniert. Danke trotzdem
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.