Hallo,
ich möchte eine Methode, die keine Parameter besitzt und auch nichts zurückliefert auf einer Instanz aufrufen. Die Methode soll Objektvariablen der Instanz, auf der sie aufgerufen wurde, ändern.
Als Beispiel habe ich die Klasse Bruch. Sie besitzt die Objektvariablen zaehler und nenner.
Die Methode kuerzen() soll nun auf einem Bruch angewendet werden und zaehler und nenner ändern.
Das sieht bei mir bis jetzt so aus:
In einer anderen Methode der Bruch-Klasse steht:
Ich will hier also eigentlich nur einen neuen Bruch erstellen, der gekürzt und dann zurückgegeben wird.
Meine IDE meldet aber Incompatible Types.
Wende ich diese Methode kuerzen() in der main-Klasse auf einem initialisierten Bruch-Objekt an, funktioniert sie einwandfrei.
Warum funktioniert sie in der Klasse Bruch nicht?
ich möchte eine Methode, die keine Parameter besitzt und auch nichts zurückliefert auf einer Instanz aufrufen. Die Methode soll Objektvariablen der Instanz, auf der sie aufgerufen wurde, ändern.
Als Beispiel habe ich die Klasse Bruch. Sie besitzt die Objektvariablen zaehler und nenner.
Die Methode kuerzen() soll nun auf einem Bruch angewendet werden und zaehler und nenner ändern.
Das sieht bei mir bis jetzt so aus:
Java:
public class Bruch{
int zaehler, nenner;
//Konstruktoren, etc.
public void kuerzen(){
int ggT = ggT(this.zaehler, this.nenner);
this.zaehler /= ggT;
this.nenner /= ggT;
}
}
In einer anderen Methode der Bruch-Klasse steht:
Java:
public Bruch addieren(Bruch b){
return new Bruch(this.zaehler*b.nenner+b.zaehler*this.nenner, this.nenner*b.nenner).kuerzen();
}
Ich will hier also eigentlich nur einen neuen Bruch erstellen, der gekürzt und dann zurückgegeben wird.
Meine IDE meldet aber Incompatible Types.
Wende ich diese Methode kuerzen() in der main-Klasse auf einem initialisierten Bruch-Objekt an, funktioniert sie einwandfrei.
Warum funktioniert sie in der Klasse Bruch nicht?