Bruchrechner Problem

truchn3000

Mitglied
Hi möchte einen Bruchrechner programmieren. Ich hab bei BlueJ wenn ich ein Objekt erzeugen will immer den Fehler: int cannot be Converted into Bruch wenn ich z.B (3,4) oder eine Zahl hinschreibe.

Code:
public class Bruch
{
public int zaehler;
public int nenner;
public int zaehler1;
  public  int nenner1;


public Bruch(int zaehler, int nenner)  //konstruktor
{
this.zaehler=zaehler;
this.nenner=nenner;
}
public String Brueche(){
    return this.zaehler+"/"+this.nenner;
}


public Bruch add(Bruch b)
{
    
    
    zaehler=zaehler*b.nenner+nenner*b.zaehler;
    nenner=nenner*b.nenner;
return new Bruch(this.zaehler, this.nenner);

}




public Bruch mul(Bruch b)
{
 zaehler= zaehler*b.zaehler;
 nenner= nenner*b.zaehler;

return new Bruch(zaehler,nenner);

}
}

ich suche schon 2 Stunden nach einer Lösung..

muss ich da public void...eingeben damit das funktioniert?
 
Hi möchte einen Bruchrechner programmieren. Ich hab bei BlueJ wenn ich ein Objekt erzeugen will immer den Fehler: int cannot be Converted into Bruch wenn ich z.B (3,4) oder eine Zahl hinschreibe.

Code:
public class Bruch
{
public int zaehler;
public int nenner;
public int zaehler1;
  public  int nenner1;


public Bruch(int zaehler, int nenner)  //konstruktor
{
this.zaehler=zaehler;
this.nenner=nenner;
}
public String Brueche(){
    return this.zaehler+"/"+this.nenner;
}


public Bruch add(Bruch b)
{
   
   
    zaehler=zaehler*b.nenner+nenner*b.zaehler;
    nenner=nenner*b.nenner;
return new Bruch(this.zaehler, this.nenner);

}




public Bruch mul(Bruch b)
{
zaehler= zaehler*b.zaehler;
nenner= nenner*b.zaehler;

return new Bruch(zaehler,nenner);

}
}

ich suche schon 2 Stunden nach einer Lösung..

muss ich da public void...eingeben damit das funktioniert?

Habe ich dich richtig verstanden, dass immer ein Fehler auftritt, wenn du eine Kommazahl eingibst?

Falls ja, darfst du keinen Integer verwenden. Ein Integer ist immer eine Ganzzahl, möchtest du mit Kommazahlen rechnen musst du stattdessen einen Double verwenden, dieser ist für Kommazahlen gedacht.
 
Wo schreibst du das denn hin? So falsch sieht der Code nicht aus, außer dass zaehler1 und nenner1 überflüssig sind.
da gibts wenn man auf das Objekt bei Blue J rechts klickt, einen Methodenaufruf Bruch add(Bruch b) wenn ich da egal ob 3/4 oder (3,4) oder eine Zahl 3 hinschreibe kommt immer der Fehler. Ich kann da einfach nichts eingeben bzw. weiß nicht was ich da eingeben kann. Der Bruch soll dann mit dem Anfangsbruch addiert werden
 
da gibts wenn man auf das Objekt bei Blue J rechts klickt, einen Methodenaufruf Bruch add(Bruch b) wenn ich da egal ob 3/4 oder (3,4) oder eine Zahl 3 hinschreibe kommt immer der Fehler. Ich kann da einfach nichts eingeben bzw. weiß nicht was ich da eingeben kann. Der Bruch soll dann mit dem Anfangsbruch addiert werden

Ah, das ist BlueJ spezifisch. Sorry, das kenne ich überhaupt nicht. Eine Vermutung wäre, dass du an dieser Stelle etwas für "b" eingeben sollst und "b" ist vom Typ Bruch. Das würde zur Fehlermeldung passen. Wie du allerdings an dieser Stelle eine Instanz von Bruch eingeben kannst, kann ich dir leider nicht sagen. Vielleicht "Bruch(3,4)"????
 
ich klicke zuerst auf den Button newBruch(int Zähler, int Nenner) dann kommen zwei Eingabefelder und dort gebe ich den den Zähler und Nenner ein z.b 3 und 4 quasi 3/4.

wenn ich dann addieren will kommt dann bei Bruch add(Bruch B) nur ein Eingabefeld und egal was ich dort eingebe, es kommt immer ein Fehler
 
ich klicke zuerst auf den Button newBruch(int Zähler, int Nenner) dann kommen zwei Eingabefelder und dort gebe ich den den Zähler und Nenner ein z.b 3 und 4 quasi 3/4.

wenn ich dann addieren will kommt dann bei Bruch add(Bruch B) nur ein Eingabefeld und egal was ich dort eingebe, es kommt immer ein Fehler

Kannst du vielleicht nochmal auf den Button "newBruch" klicken und das Ergebnis daraus beim Addieren angeben?

Wie schon geschrieben: Keine Ahnung von BlueJ.
 
Ah, das ist BlueJ spezifisch. Sorry, das kenne ich überhaupt nicht. Eine Vermutung wäre, dass du an dieser Stelle etwas für "b" eingeben sollst und "b" ist vom Typ Bruch. Das würde zur Fehlermeldung passen. Wie du allerdings an dieser Stelle eine Instanz von Bruch eingeben kannst, kann ich dir leider nicht sagen. Vielleicht "Bruch(3,4)"????
Bruch(3,4) funktioniert leider auch nicht. cannot find symbol Bruch (int,int)
 

Zurück
Oben