java.lang.ArithmeticException: / by zero

Berlin_er

Mitglied
Hallo Zusammen,

ich habe ein GUI-Programm, verknüpft mit einer anderen Klasse. Die Eingabe bei der grafischen Benutzeroberfläche muss immer 10 Ziffern beinhalten, weshalb ich den Datentyp long genommen habe. Die erste Ziffer muss immer 1-5, die letzte Ziffer immer 2 sein und der Rest in der Mitte spielt keine Rolle.
Es werden mir beim compilieren keine Fehler angezeigt, jedoch wenn ich nach der Zahleingabe (Bsp.: 1479238172) auf den Start Button klicke, funktioniert es nicht mehr.
Es wird folgende Fehlermeldung angezeigt: Exception in thread "AWT-EventQueue-0" java.lang.ArithmeticException: / by zero at Berechnung.Rechenweg(Berechnung.java:56)

An der 56 Zeile muss eigentlich folgendes errechnet werden - Bsp.:
pruefziffer %= modulowert (was bei der Zahleingabe folgendes wäre: 41 % 2), was irgendwie nicht funktioniert. Die Zeile befindet sich in der Sub-Klasse Berechnung - habs im Code nochmal markiert.

Hoffe, dass mir einer helfen kann und bedanke mich schonmal im voraus!

Die Codes:

GUI
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;


public class CodeGUI extends JFrame {
  // Anfang Attribute
  private Label lbl_Ueberschrift = new Label();
  private Label lbl_Code = new Label();
  private Label lbl_Ergebnis = new Label();
  private NumberField nf_Code = new NumberField();
  private TextArea txt_Ergebnis = new TextArea("", 1, 1, TextArea.SCROLLBARS_BOTH);
  private Button but_Start = new Button();
  private Button but_Loeschen = new Button();
  private Button but_Beenden = new Button();
  long eingabe = 0;
  String ergebnis = "";
  Berechnung meineKlasse = new Berechnung(eingabe, ergebnis);
  // Ende Attribute
 
  public CodeGUI(String title) {
    // Frame-Initialisierung
    super(title);
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    int frameWidth = 327;
    int frameHeight = 374;
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2;
    setLocation(x, y);
    setResizable(false);
    Container cp = getContentPane();
    cp.setLayout(null);
    // Anfang Komponenten
   
    lbl_Ueberschrift.setBounds(72, 24, 155, 25);
    lbl_Ueberschrift.setText("ID_Check");
    lbl_Ueberschrift.setAlignment(Label.CENTER);
    lbl_Ueberschrift.setEnabled(true);
    lbl_Ueberschrift.setFont(new Font("Dialog", Font.BOLD, 12));
    cp.add(lbl_Ueberschrift);
    lbl_Code.setBounds(8, 72, 43, 25);
    lbl_Code.setText("Code:");
    lbl_Code.setAlignment(Label.LEFT);
    lbl_Code.setEnabled(true);
    cp.add(lbl_Code);
    lbl_Ergebnis.setBounds(8, 168, 57, 25);
    lbl_Ergebnis.setText("Ergebnis:");
    lbl_Ergebnis.setEnabled(true);
    cp.add(lbl_Ergebnis);
    nf_Code.setBounds(80, 72, 225, 25);
    nf_Code.setText("");
    cp.add(nf_Code);
    txt_Ergebnis.setBounds(80, 168, 225, 105);
    txt_Ergebnis.setEditable(false);
    cp.add(txt_Ergebnis);
    but_Start.setBounds(240, 112, 65, 25);
    but_Start.setLabel("Start");
    but_Start.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        but_Start_ActionPerformed(evt);
      }
    });
    but_Start.setFont(new Font("Dialog", Font.BOLD, 12));
    cp.add(but_Start);
    but_Loeschen.setBounds(80, 304, 97, 25);
    but_Loeschen.setLabel("Löschen");
    but_Loeschen.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        but_Loeschen_ActionPerformed(evt);
      }
    });
    but_Loeschen.setFont(new Font("Dialog", Font.BOLD, 12));
    cp.add(but_Loeschen);
    but_Beenden.setBounds(208, 304, 97, 25);
    but_Beenden.setLabel("Beenden");
    but_Beenden.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        but_Beenden_ActionPerformed(evt);
      }
    });
    but_Beenden.setFont(new Font("Dialog", Font.BOLD, 12));
    cp.add(but_Beenden);
    // Ende Komponenten
   
    setVisible(true);
  } // end of public CodeGUI
 
  // Anfang Methoden
 
  public static void main(String[] args) {
    new CodeGUI("CodeGUI");
  } // end of main
 
  public void but_Start_ActionPerformed(ActionEvent evt) {
    eingabe = nf_Code.getLong();
    txt_Ergebnis.setText(ergebnis = meineKlasse.Rechenweg(eingabe, ergebnis));
  }

  public void but_Loeschen_ActionPerformed(ActionEvent evt) {
    nf_Code.clear();
    eingabe = 0;
    txt_Ergebnis.setText("");
    ergebnis = "";
  }

  public void but_Beenden_ActionPerformed(ActionEvent evt) {
    System.exit(0);
  } // end of but_Beenden_ActionPerformed

  // Ende Methoden
} // end of class CodeGUI

Sub-Klasse Berechnung
Java:
public class Berechnung{
 
  public long eingabe = 0;
  public String ergebnis = "";
 
  public int [] ziffern = new int[8];
 
  public int modulowert = 0;
  public int pruefziffer = 0;
  public int abteilungsNr;
  public String abteilungsName;
 
 
  public Berechnung(long peingabe, String pergebnis){
    eingabe = peingabe;
    ergebnis = pergebnis;
  }
 
 
  public String Rechenweg(long peingabe, String pergebnis){
    for (int i = 0;i <= ziffern.length+1 ;i++ ) {
      if (i == 0) {
        modulowert = (int)eingabe % 10;
        eingabe /= 10;
      }
      else if (i > 0 && i < 9) {
        ziffern[i-1] = (int)eingabe % 10;
        eingabe /= 10;
      }
      else if (i == 9) {
        abteilungsNr = (int)eingabe % 10;
      }
    }
    switch (abteilungsNr) {
      case 1:
      abteilungsName = "Leuchtenabteilung";
      break;
      case 2:
      abteilungsName = "Maschinenabteilung";
      break;
      case 3:
      abteilungsName = "Baustoffeabteilung";
      break;
      case 4:
      abteilungsName = "Fliesenabteilung";
      break;
      case 5:
      abteilungsName = "Wassertechnikabteilung";
      break;
      default:
      abteilungsName = "nicht vorhanden!";
    }
    for (int j = 0;j < ziffern.length ;j++ ) {
      pruefziffer += ziffern[j];
      if (j == 7) {
        [U][I][B][SIZE=5]pruefziffer %= modulowert;[/SIZE][/B][/I][/U]
        if (pruefziffer == 0) {
          ergebnis = "Der eingegebene Code ist gültig und registriert. Das Produkt ist der "+abteilungsName+" zugeordnet.";
        }
        else if (pruefziffer == 1) {
          ergebnis = "Code ungültig! Es existiert kein Produkt mit diesem Code in der "+abteilungsName+". Bitte überprüfen Sie Ihre Eingabe!";
        }
      }
    }
    return ergebnis;
  }
}
 

Robat

Top Contributor
Du kommst einfach mit deinen Variablennamen gerade durch einander.
In der Rechenweg-Methode rechnest du ausschließlich mit eingabe (ist 0) und ergebnis (ist ein leerer String). Die Werte werden im Konstruktor so gesetzt, wenn du das Objekt für die Berechnung erstellst. Die Werte mit denen du eigentlich rechnen willst sind doch peingabe und pergebnis weil nur die beiden die Werte aus den Textfeldern enthalten und an die Rechenweg-Methode übergeben werden.

Dadurch, dass eingabe 0 ist, rechnest du modulowert = 0 % 10 = 0 und pruefziffer %= 0 was zu dieser Exception führt, weil man nicht durch 0 teilen kann in Java.
 

Berlin_er

Mitglied
Du kommst einfach mit deinen Variablennamen gerade durch einander.
In der Rechenweg-Methode rechnest du ausschließlich mit eingabe (ist 0) und ergebnis (ist ein leerer String). Die Werte werden im Konstruktor so gesetzt, wenn du das Objekt für die Berechnung erstellst. Die Werte mit denen du eigentlich rechnen willst sind doch peingabe und pergebnis weil nur die beiden die Werte aus den Textfeldern enthalten und an die Rechenweg-Methode übergeben werden.

Dadurch, dass eingabe 0 ist, rechnest du modulowert = 0 % 10 = 0 und pruefziffer %= 0 was zu dieser Exception führt, weil man nicht durch 0 teilen kann in Java.

Ich habe die Objekterzeugung nun in der Start-Button Methode, sodass die eingegebene Zahl zuerst in die Variable eingabe übernommen wird und erst dann die Objekterzeugung mit den richtigen Parameterwerten folgt.
Nun klappts auch :)

Vielen Dank, wie immer! :D
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
O Exception in thread "main" java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 4
T Compiler-Fehler java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 2
S java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 3
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
F Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 11 at main.main(main.java:11) Java Basics - Anfänger-Themen 2
JaVaN0oB java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 18
F Fehlermeldung java.lang.NullPointerException Java Basics - Anfänger-Themen 4
D java.lang.NullPointerException Java Basics - Anfänger-Themen 19
X java.lang.NullPointerException fehler ? Java Basics - Anfänger-Themen 1
R Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 5
S Compiler-Fehler Exception in thread "main" java.lang.Error: Unresolved compilation problem: Java Basics - Anfänger-Themen 6
B java.lang.NullPointerException bei javafx Java Basics - Anfänger-Themen 10
H JUnit in Eclipse: java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 9
I Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 Java Basics - Anfänger-Themen 3
P java.lang.ClassCastException Bedeutung und Lösung Java Basics - Anfänger-Themen 3
J Erste Schritte java.lang.NoClassDefFoundError Java Basics - Anfänger-Themen 4
I java.lang.ArrayIndexOutOfBoundsException at lösung.main Java Basics - Anfänger-Themen 3
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
R java.lang.ArrayIndexOutOfBoundsException: 0 Rechner Error Java Basics - Anfänger-Themen 4
D Erste Schritte Java.lang.NullPointer.Exception Java Basics - Anfänger-Themen 8
H java.lang.NullPointerException Java Basics - Anfänger-Themen 4
G java.lang.NullPointerException Java Basics - Anfänger-Themen 3
C Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 Java Basics - Anfänger-Themen 3
N jodaTime java.lang.IllegalArgumentException: Invalid format Java Basics - Anfänger-Themen 3
E Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 2
F Erste Schritte java.lang.StringIndexOutOfBoundsException Java Basics - Anfänger-Themen 3
J java.lang.NullPointerException in meiner JavaFXControllerKlasse Java Basics - Anfänger-Themen 26
R java.lang.StringIndexOutOfBoundsException Java Basics - Anfänger-Themen 1
D Communications link failure | java.lang.NullPointerException Java Basics - Anfänger-Themen 3
V java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 2
H java.lang.NoClassDefFoundError Run as>> Run on Server Java Basics - Anfänger-Themen 2
F java.lang.NullPointerException, kann aber nicht sein! Java Basics - Anfänger-Themen 4
L Fehler: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 4
S Java memory fehler: Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap spa Java Basics - Anfänger-Themen 5
M java.lang.Enum.valueOf(Unknown Source) Java Basics - Anfänger-Themen 2
L Compiler-Fehler Problem beim Programmieren eines Kalenders (java.lang.ArrayIndexOutOfBoundsException) Java Basics - Anfänger-Themen 2
A Code läuft nicht, Fehlermeldung Exception in thread "main" java.lang.Error: Unresolved compilation " Java Basics - Anfänger-Themen 11
P Exception in thread "main" java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 1
C Hilfe!!! java.lang.ClassCastException Java Basics - Anfänger-Themen 1
O java.lang.IndexOutOfBoundsException JTable autoSort Java Basics - Anfänger-Themen 5
M Compiler-Fehler Java suckt - java.lang.NullPointerException Java Basics - Anfänger-Themen 12
W Methoden Rückgabedatentyp java.util.Map<java.lang.String,? extends ...> Java Basics - Anfänger-Themen 4
L Compiler-Fehler Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 2
F Exception in thread main java.lang.StackOverflowError Java Basics - Anfänger-Themen 3
K Caused by: java.lang.NoClassDefFoundError: org/mindrot/jbcrypt/BCrypt Java Basics - Anfänger-Themen 0
S java.lang.NullPointerException Java Basics - Anfänger-Themen 4
G Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 4
OnDemand java.lang.reflect.InvocationTargetException Java Basics - Anfänger-Themen 9
A Compiler-Fehler Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 7
J Klassen java.lang.String - lexikographisches Sortieren Java Basics - Anfänger-Themen 5
P Interpreter-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 3
T Erste Schritte import java.lang.System.out Java Basics - Anfänger-Themen 4
T Problem mit Eclipse? Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 4
H Classpath java.lang.NoClassDefFoundError externe Libary Java Basics - Anfänger-Themen 4
M Exception in thread "main" java.lang.NoClassDefFoundError: MeineKlasse Java Basics - Anfänger-Themen 12
X Applet Fehler: java.lang.reflect.InvocationTargetException Java Basics - Anfänger-Themen 45
B java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 4
K Date cannot be cast to java.lang.Integer Java Basics - Anfänger-Themen 4
H java.lang.IndexOutOfBoundsException bei verschachtelter ArrayList Java Basics - Anfänger-Themen 9
S Fehler: "java.lang.NullPointerException" Java Basics - Anfänger-Themen 6
V java.lang.NoSuchMethodError Java Basics - Anfänger-Themen 2
J java.lang.math asin() Java Basics - Anfänger-Themen 18
I Erste Schritte Ausführfehler: java.lang.NullPointerException Java Basics - Anfänger-Themen 3
R Compiler-Fehler java.lang.ArrayIndexOutOfBoundsException, warum? Java Basics - Anfänger-Themen 6
K Error: java.lang.NoSuchMethodException Java Basics - Anfänger-Themen 2
M Compiler-Fehler Fehler Meldung java.lang.NumberFormatException: empty String Java Basics - Anfänger-Themen 2
G java.lang.ClassNotFoundException Java Basics - Anfänger-Themen 4
1 Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException Java Basics - Anfänger-Themen 5
S Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 11
S String index out of range: 8 at java.lang.String.substring(Unknown Source) Java Basics - Anfänger-Themen 13
V [Greenfoot] java.lang.NullPointerException Java Basics - Anfänger-Themen 12
S Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 10
X Interpreter-Fehler "java.lang.NullPionterException: null" bei BlueJ Java Basics - Anfänger-Themen 10
P java.lang.ClassCastException Java Basics - Anfänger-Themen 2
D java.lang.NoSuchMethodError: main Java Basics - Anfänger-Themen 11
S expected java.lang.string but found char Java Basics - Anfänger-Themen 5
S Umgebungsvariable Exception in thread "main" java.lang.UnsatisfiedLinkError: no J3D in java.librar y.path Java Basics - Anfänger-Themen 15
S Compiler-Fehler java.lang.SecurityException: Invalid signature file digest for Manifest main attributes Java Basics - Anfänger-Themen 5
M Klassen Exception in thread "main" java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 2
A Compiler-Fehler unreported exception java.lang.Exception; must be caught or declared to be thrown Java Basics - Anfänger-Themen 7
K Fehlermeldung: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1 Java Basics - Anfänger-Themen 4
M Datentypen java.util.Arrays$ArrayList cannot be cast to [Ljava.lang.String; Java Basics - Anfänger-Themen 11
J java.lang.NullPointerException Java Basics - Anfänger-Themen 18
K Interpreter-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 6
F Ich kenn mich nicht mehr aus - 'java.lang.NoSuchMethodError: main' in Applet? Java Basics - Anfänger-Themen 2
K OOP java.lang.NullPointerException Java Basics - Anfänger-Themen 2
N iText PDF Fehler, java.lang.ClassNotFoundException: com.lowagie.text.Phrase Java Basics - Anfänger-Themen 7
M java.lang.NumberFormatException-Problem Java Basics - Anfänger-Themen 6
H java.lang.NoSuchMethodError: Java Basics - Anfänger-Themen 5
J java.lang.UnsatisfiedLinkError: Java Basics - Anfänger-Themen 9
T List in java.lang.Object... einfügen Java Basics - Anfänger-Themen 12
M java.lang.StringTokenizer Java Basics - Anfänger-Themen 4
I java.lang.String cannot be cast to OBJEKT Java Basics - Anfänger-Themen 8
P java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory Java Basics - Anfänger-Themen 1
Y java.lang.NoSuchMethodError: main Java Basics - Anfänger-Themen 9
B Exception in thread "main" java.lang.NullPointerException Fehler Hilfe! Java Basics - Anfänger-Themen 4
D java.lang.outofmemoryerror java heap space bei Hashtable Java Basics - Anfänger-Themen 3
Spin Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: data must Java Basics - Anfänger-Themen 10
S Fehlermeldung: java.lang.NullPointerException Java Basics - Anfänger-Themen 10
T Fehlermeldung: java.lang.NoClassDefFoundError Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben