• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

[ERLEDIGT] » Bruch kürzen Programm funktioniert nicht Teilen durch 0 Exeception

htmler222

Neues Mitglied
Freunde ich steck in der Klemme und zwar sollte ich ein Programm schreiben mit 2 Klassen wo der Nutzer 2 Zahlen reingibt und einen gekürzten Bruch bekommt. Dieses Programm läuft nicht.
Code für die Klasse Bruch (diese enthält den größten Teil der Logik des ganzen)
Code:
/**
* Beschreiben Sie hier die Klasse Bruch.
*
* @author (Ihr Name)
* @version (eine Versionsnummer oder ein Datum)
*/
public class Bruch
{
    // Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen
    private int x=0;
    private int y=0;
    private int ergebnis=0;

    /**
     * Konstruktor für Objekte der Klasse Bruch
     */
    public int getZählerx()
    {
       return x;
    }
public int getNennery()
    {
       return y;
    }
    public void setZählerx(int zähler)
    {
        x=zähler;
    }
  
public void setNennery(int nenner)
    {
       y=nenner;
    }
    public int ggt(  int a,int z)
  
    {
      
    
        if(z<=a)
        {
            if(z==0)
            {
                return a;
            }
            else
            { return ggt(z,a%z);
            }

        }
        else
        {return 0;
        }
    }

    private void verarbeitung ()
    {
        ergebnis=ggt(x,y);
    }
   public void kürzen()
   { x=x/ergebnis;
       y=y/ergebnis;
    }
}
Code für die andere Klasse EVA welche die Eingaben aufnimmt und dann alles ausführt (Die KLasse Bruch ist eingebunden)

Code:
import java.util.*;
/**
* Beschreiben Sie hier die Klasse Eva.
*
* @author (Ihr Name)
* @version (eine Versionsnummer oder ein Datum)
*/
public class Eva
{
    // Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen
    private int zähler=0;
    private int nenner=0;
    private Bruch bruch=new Bruch();
    private Scanner scanner=new Scanner(System.in);
    /**
     * Konstruktor für Objekte der Klasse Eva
     */
    public Eva()
    {
      
    }
    public void eva()
    {eingabe(); verarbeitung(); ausgabe();}
    private void eingabe(){
        System.out.println("Gebe 2 Zahlen ein (Zähler & Nenner). Dir wird der gekürzte Bruch angezeigt. Hinweis: Ganze Zahlen so eingeben: Beispiel: 1.0 . Kommazahlen sind ebenfalls möglich");
        zähler=scanner.nextInt();
        nenner=scanner.nextInt();
    }
    private void verarbeitung()
    { bruch.setNennery(nenner);
        bruch.setZählerx(zähler);
        bruch.kürzen();
        bruch.getNennery();
        bruch.getZählerx();
      
      
    }
    private void ausgabe()
    { System.out.println("Dein gekürzter Bruch:" +zähler/+nenner);
  
    }
}
Und folgender Fehler: Er teilt durch 0 wenn der Fehler von der Bedeutung her klar ist (also meine Deutung), liegt es an der Variable ergebnis . Allerdings weiß ich nicht, wie ich das beheben kann, denn ergebnis muss ja zwangsläufig den wert des ggt bekommen sonst kann man ja nicht kürzen
;)
oder hat wer eine Ahnung wie ich das programm sonst zum laufen bekomme
;)
danke schon mal für ne schnelle Antwort
;)





 

Anhänge

  • java.PNG
    java.PNG
    11,5 KB · Aufrufe: 3
Zuletzt bearbeitet:
Werbung:
Zurück
Oben