所谓递归方法就是方法自己调自己,这个看两个例子就能理解了。
示例代码1:用递归来算整数n的阶乘。
public int factorial(int n) {
if (n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
测试代码:
int i = 5;
Recursion r = new Recursion();
System.out.println(i + "的阶乘等于:" + r.factorial(i));
运行结果:
<pre>
5的阶乘等于:120
</pre>
示例代码2:用递归来算斐波那契数列的第n个数。
public int fibonacci(int n) {
if (n == 1) {
return 0;
} else if (n == 2) {
return 1;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
测试代码:
int i = 5;
Recursion r = new Recursion();
System.out.println("斐波那契数的第" + i + "为:" + r.fibonacci(i));
运行结果:
<pre>斐波那契数的第5为:3</pre>
本文代码下载:百度网盘
网友评论