Java Reference
In-Depth Information
3 /**
4
This program prints trace messages that show how often the
5
recursive method for computing Fibonacci numbers calls itself.
6 */
7
public class
RecursiveFibTracer
8 {
9
public static void
main(String[] args)
10 {
11 Scanner in =
new
Scanner(System.in);
12 System.out.print(
ÐEnter n: Ñ
);
13
int
n = in.nextInt();
14
15
long
f = fib(n);
16
17 System.out.println(
"fib("
+ n +
"
) =
" + f);
18 }
19
20 /**
21
Computes a Fibonacci number.
22 @param n
an integer
23 @return
the nth Fibonacci number
24 */
25
public static long
fib(
int
n)
26 {
27 System.out.println(
"Entering fib: n =
"
+ n);
28 long f;
29 if (n <=
2
) f =
1
;
30
else
f = fib(n -
1
) + fib(n -
2
);
31 System.out.println(
"Exiting fib: n =
"
+ n
32 +
" return value = "
+ f);
33
return
f;
34 }
35 }
Output
Enter n:
6
Entering fib: n = 6
Entering fib: n = 5