Hallo,
Ich hätte eine klitzekleine Frage undzwar:
Bei der Ausgabe mit System.out.println(x(2)); kommt 2 für den return raus. Wieso ist das so? Ich meine wenn n > 0 ( Was in dem Fall von 2 ja zutrifft, dann soll es die Methode nochmal ausführen nur mit n-1 (Also nach dem ersten Ausführen bei 1). Müsste also als return nicht 0 rauskommen? Ich stelle mir das zirka so vor:
1.Ausführen --> n = 2
wenn n > 0 (Was bei 2 zutrifft)
dann führt er x(2-1 (= 1)) aus
wenn n > 0 (Was im Falle von 1 auch zutrifft)
führt er x(1-1(= 0)) aus
wenn n > 0 ( Was nicht mehr zutrifft)
--> return 0
Was ist an meiner Denkweise falsch?
Ich hätte eine klitzekleine Frage undzwar:
Java:
public static int x(int n) {
if (n > 0) {
x(n - 1);
}
return n;
}
1.Ausführen --> n = 2
wenn n > 0 (Was bei 2 zutrifft)
dann führt er x(2-1 (= 1)) aus
wenn n > 0 (Was im Falle von 1 auch zutrifft)
führt er x(1-1(= 0)) aus
wenn n > 0 ( Was nicht mehr zutrifft)
--> return 0
Was ist an meiner Denkweise falsch?