Hallo,
gibt es irgend eine gute Darstellungsform / Methode um Rekursionen nachzuvollziehen?
Z.B. möchte ich unteren Code von Hand (das heißt ohne Debugger etc.) nachvollziehen und vorhersagen was er auf dem Bildschirm ausgibt, wenn man ihn laufen lässt.
Wie würdet Ihr das machen?
gibt es irgend eine gute Darstellungsform / Methode um Rekursionen nachzuvollziehen?
Z.B. möchte ich unteren Code von Hand (das heißt ohne Debugger etc.) nachvollziehen und vorhersagen was er auf dem Bildschirm ausgibt, wenn man ihn laufen lässt.
Wie würdet Ihr das machen?
Code:
// package VerknuepfungVonObjekten;
public class Test {
public static int step(int num) {
int result = 0;
if (num < 5) {
return num;
}
System.out.printf("\n num: %3d ", num);
switch (num % 3) {
case 0:
return step(num + 1);
case 1:
return step(num - 2);
case 2:
return step(num - 2);
}
return result;
}
public static int foo(int up, int down) {
int result;
if (up >= down) {
return up;
}
System.out.printf("\n up: %3d ", up);
result = foo(up + 1, down - 1);
result = result + foo(up, down - 2);
return result;
}
public static void main(String[] args) {
int result;
result = step(10);
System.out.printf("\n step result : %d \n", result);
result = foo(1, 7);
System.out.printf("\n foo result : %d \n", result);
}
}