fishbone: Java-Rekursion Verständnis

Beitrag lesen

Hi Forum,

ich checke leider folgende Rekursion nicht:

public class Rekursion {

public static void main(String[] args) {
  for (int i=0; i<7; i+=2)
   System.out.println(f(i)+"");
 }

public static int f(int x) {
  if (x<1) return 1;
  return f(x-1) + f(x-2);

}

}

1. Die Schleife beginnt mit 0, die Methode gibt 1 zurück, da if zutrifft.
2. Variable i von der Schleife ist nun 2. Was passiert nun?

Er gibt return f(2-1) + f(2-2) zurück. Sprich, ruft er sich dann mit f(1)+f(0), also abgezogen (Minus) f(1) auf?

Würde er sich mit f(1) aufrufen, käme dann laut meiner Logik dann
return f(1-1) + f(1-2) heraus. Also f(f(0)+f(-1)

Grüße