Abend.^^
Ich habe eine Aufgabe bei Eclipse bekommen bei der ich die Grundrechenarten mit Brüchen programmieren soll. Diese sollen dann gekürzt wieder ausgegeben werden. Leider stell ich mich grade etwas blöd mit der Ausgabe an.
Hier das main dazu, und zu meinem Ausgabeproblem:
Danke im Voraus.^^
Ich habe eine Aufgabe bei Eclipse bekommen bei der ich die Grundrechenarten mit Brüchen programmieren soll. Diese sollen dann gekürzt wieder ausgegeben werden. Leider stell ich mich grade etwas blöd mit der Ausgabe an.
Java:
public class Bruch
{
/**
* @param args
* @author
* @version 1.0
*/
public int zaehler;
public int nenner;
public Bruch()
{
zaehler=1;
nenner=1;
}
public Bruch (int zaehler, int nenner)
{
this.zaehler=zaehler;
this.nenner=nenner;
}
/**
* Wir für kürzen benötigt. Bestimmt den Größten gemeinsamen Teiler.
* @param a
* @param b
* @return
*/
public int euklid(int a,int b)
{
/**
* Der Nenner muss größer als der Zähler sein, ansonsten
* werden die Werte getauscht.
*/
if(b>a)
{
int tausche=a;
a=b;
b=tausche;
}
int merke=a%b;
/**
* a und b werden so lange miteinander dividiert, bis es nicht mehr geht,
* der letzte Restwert ist dann der ggT.
*/
while (b!=0)
{
merke=a%b;
a=b;
b=merke;
}
return a;
}
void kuerzen()
{
int ggT=0;
if(zaehler>nenner)
{
ggT=euklid(zaehler,nenner);
}
else
ggT=euklid(nenner,zaehler);
zaehler=zaehler/ggT;
nenner=nenner/ggT;
}
void print()
{
System.out.println(zaehler + "/" + nenner);
}
Bruch plus(Bruch b)
{
this.zaehler=this.zaehler*b.nenner+b.zaehler*this.nenner;
this.nenner=this.nenner*b.nenner;
this.kuerzen();
return this;
}
Bruch minus(Bruch b)
{
this.zaehler=this.zaehler*b.nenner-b.zaehler*this.nenner;
this.nenner=this.nenner*b.nenner;
this.kuerzen();
return this;
}
Bruch mal(Bruch b)
{
this.zaehler=this.zaehler*b.zaehler;
this.nenner=this.nenner*b.nenner;
this.kuerzen();
return this;
}
Bruch geteilt(Bruch b)
{
this.zaehler=this.zaehler*b.zaehler;
this.nenner=this.nenner*b.nenner;
this.kuerzen();
return this;
}
boolean istGroesser(Bruch b1,Bruch b2)
{
return (b1.zaehler+b2.nenner>b2.zaehler+b1.nenner);
}
boolean istKleiner(Bruch b1,Bruch b2)
{
return (b1.zaehler+b2.nenner<b2.zaehler+b1.nenner);
}
boolean istGleich(Bruch b1,Bruch b2)
{
return (b1.zaehler+b2.nenner==b2.zaehler+b1.nenner);
}
public static void main(String[] args)
{
}
}
Hier das main dazu, und zu meinem Ausgabeproblem:
Java:
public class BruchTest extends Bruch
{
/**
* @param args
* @author
* @version 1.0
*/
public static void main(String[] args)
{
Bruch b1 = new Bruch(5,3);
Bruch b2 = new Bruch(12,8);
System.out.println(b1.istGroesser(b1, b2));
System.out.println(b1.plus(b2));
}
}
Danke im Voraus.^^