G
Guest
Gast
Hallo,
ich versuche die Berechnung n über k mit Hilfe von Rekursiion zu berechnen.
Die Fakultät wird richtig ausgerechnet, dass habe ich alles schon getestet.
Nur wenn ich dann den n über k berechnen möchte, erhalte ich die unten stehende Fehlermeldung.
Wieso kommt die und wie kann ich die beheben?
Danke
Gruß
Alaska
Folgende Fehlermeldung erhalte ich.
Exception in thread "main" java.lang.StackOverflowError
at NUeberK.fakultaet(NUeberK.java:25)
at NUeberK.fakultaet(NUeberK.java:25)
at NUeberK.fakultaet(NUeberK.java:25)
at NUeberK.fakultaet(NUeberK.java:25)
Und das dann sehr oft, woran liegt es?
ich versuche die Berechnung n über k mit Hilfe von Rekursiion zu berechnen.
Die Fakultät wird richtig ausgerechnet, dass habe ich alles schon getestet.
Nur wenn ich dann den n über k berechnen möchte, erhalte ich die unten stehende Fehlermeldung.
Wieso kommt die und wie kann ich die beheben?
Danke
Gruß
Alaska
Code:
private double fakultaet(int n){
if (n==0||n==1) return 1;
else return n*fakultaet(n-1);
}
public double berechnungNueberKrekursiv(int n) {
double ergebnis = 0;
ergebnis = this.fakultaet(n)
/ (this.fakultaet(this.k) * this.fakultaet(n - this.k));
return ergebnis;
}
Folgende Fehlermeldung erhalte ich.
Exception in thread "main" java.lang.StackOverflowError
at NUeberK.fakultaet(NUeberK.java:25)
at NUeberK.fakultaet(NUeberK.java:25)
at NUeberK.fakultaet(NUeberK.java:25)
at NUeberK.fakultaet(NUeberK.java:25)
Und das dann sehr oft, woran liegt es?