Hi. Ich bin dabei Java zu erlernen und bin gerade bein rekursiven Funktionen angelangt... hier habe ich zum Beispiel eine rekursive Funktion, die die Potenz einer Zahl berechnet:
static double potenz(double zahl, int pot) {
if (pot == 1) {
return zahl;
} else return potenz(zahl, pot-1) * zahl;
}
Kann mir jemand Schritt für Schritt erklären wie die Funktion bei beispielsweise 2³ abläuft? Vorallem ab der Stelle, bei der die letzte Verschachtelung endet und die Zahl berechnet wird? Danke!
Ok, danke für die Erklärung. Eine Frage habe ich allerdings noch... und zwar dient
nur dazu um bei potenz(2,1) den Wert 2 zu liefern, oder auch um letztlich den Wert von der potenzierten Zahl zu liefern?
Nur um den Wert 2 zu liefern. Das return macht wirklich nur das, was an dieser Stelle bis zum Semikolon steht, es liefert also "zahl" zurück. Da sich "zahl" bei den ganzen Rekursivaufrufen niemals ändert, ist es dann auch 2 :-)
Ok, danke dir!