Ich bin gerade etwas verwirrt xD In der Aufgabenstellung steht dass die "kuerze()" Methode eine private void Methode sein muss, jedoch verstehe ich nicht wie ich dass kürzen soll, ich könnte natürlich dass kürzen sowohl aus der Additions Methode und den Konstruktiven ziehen und in die Methode schieben, aber ist das eine gute Idee?
Jedoch das eigentlich Problem in meinen Augen ist, dass ich der Methode keine Parameter übergeben darf
Hier einfach mal die komplette Aufgabenstellung:
Jedoch das eigentlich Problem in meinen Augen ist, dass ich der Methode keine Parameter übergeben darf
Hier einfach mal die komplette Aufgabenstellung:
Java:
public class Bruch {
private int zaehler;
private int nenner;
public Bruch(int _zaehler, int _nenner){
int temp = kuerze(_zaehler, _nenner);
this.zaehler = (_zaehler/temp);
this.nenner = (_nenner/temp);
toString();
}
public Bruch(String fraction){
String [] parts = fraction.split("/");
int _zaehler = Integer.parseInt(parts[0]);
int _nenner = Integer.parseInt(parts[1]);
int temp = kuerze(_zaehler, _nenner);
this.zaehler = (_zaehler/temp);
this.nenner = (_nenner/temp);
toString();
}
@Override
public String toString(){
return this.zaehler + "/" + this.nenner;
}
public Bruch addiere(Bruch a) {
Bruch c = new Bruch(1, 1);
c.zaehler = ((this.zaehler*a.nenner) + (a.zaehler*this.nenner));
c.nenner = (this.nenner*a.nenner);
int temp = kuerze(c.zaehler, c.nenner);
c.zaehler = (c.zaehler/temp);
c.nenner = (c.nenner/temp);
return c;
}
private int kuerze(int a, int b) {
if(a < b) {
return kuerze(b, a);
}
if(0 == b) {
return a;
}
return kuerze(a % b, b);
}
}
Zuletzt bearbeitet: