当一个方法不断地调用它本身时,必须在某个时刻方法的返回值是确定的,即不再调用它本身,否则这种递归就变成了无穷递归,类似于死循环。
public class Recursive {
public static int fn(int n)
{
if(n==0)
{
return 1;
}
else if(n==1)
{
return 4;
}
else {
return 2*fn(n-1)+fn(n-2);
}
}
public static void main(String[] args)
{
System.out.println(fn(10));
}
}
运行结果
10497