mR.fLopPy
Erfahrenes Mitglied
Hallo!
Ich habe folgendes Problem und zwar wurde uns aufgetragen dass wir die Fakultät einmal iterativ und einmal rekursiv lösen, was an und für sich kein Problem darstellt. In einer weiteren Aufgabe mussten wir diese jedoch mit einer get-Methode aus einer anderen Klasse aufrufen und nunja, wir haben keine Ahnung wie man bei der Rekursion das Problem umgeht, dass man keine Werte an die Methode übergeben darf. Wie sind verpflichtet dazu die Variable aus dem Konstruktor zu nehmen.
Hier ist der Code:
(Ich hoffe ich konnte das so einigermaßen erklären)
Hat jemand für uns einen Ansatz der uns weiter helfen kann? Ich wäre dafür sehr dankbar.
Mit besten Grüßen
floppy
Ich habe folgendes Problem und zwar wurde uns aufgetragen dass wir die Fakultät einmal iterativ und einmal rekursiv lösen, was an und für sich kein Problem darstellt. In einer weiteren Aufgabe mussten wir diese jedoch mit einer get-Methode aus einer anderen Klasse aufrufen und nunja, wir haben keine Ahnung wie man bei der Rekursion das Problem umgeht, dass man keine Werte an die Methode übergeben darf. Wie sind verpflichtet dazu die Variable aus dem Konstruktor zu nehmen.
Hier ist der Code:
Code:
package ab5;
public class Fakultaet {
int n;
public Fakultaet(int n) {
this.n = n;
}
public void setValue(int m){
this.n=m;
}
public int getValue(){
return this.n;
}
public long getResultIterative() {
int count=1;
if (n==0){count=0;}
for (int i=1; i<=n;i++){
count = count * i;
}return count;
}
public long getResultRecursive(){ // n muss oben verändert werden ohne bei iterative was zu verändern
if (n==0)
return 1;
if (n==1)
return 1;
else
this.n = n-1;
return getResultRecursive();
}
}
(Ich hoffe ich konnte das so einigermaßen erklären)
Hat jemand für uns einen Ansatz der uns weiter helfen kann? Ich wäre dafür sehr dankbar.
Mit besten Grüßen
floppy