java 请举个例子讲讲什么是递归方法吧.

来源:百度知道 编辑:UC知道 时间:2024/06/23 23:36:33
实在看不懂书上的.就说了一句话"在方法中调用自身同名方法",然后给了个古怪的例子.信心快要耗尽了.请大家帮帮我,举个例子讲一下吧.谢谢了.

/*编程题:
1.fibonaci数列0,1,1,2,3,5,8,13,21,34,55,设计个类实现下列方法:
getfvalue()计算f(n)的值;
写出Fvalue的实现
*/

public class Fibonaci {
private static long getfvalue(long k){
if(k<=1) return k;
else return getfvalue(k-1)+getfvalue(k-2);
}

private static long[] getfvalueA(long k){
if(k<=1){
return new long[]{k,0};
}
else{
long[] temp=getfvalueA(k-1);
return new long[]{temp[0]+temp[1],temp[0]};
}
}
public static void main(String arg[])
{
long k=20;
long time1=System.currentTimeMillis();
System.out.println(getfvalue(k));
long time2=System.currentTimeMillis();
System.out.println(time2-time1);

time1=System.currentTimeMillis();
long[] temp=getfvalueA(k);
System.out.println(temp[0]);
time2=System.currentTimeMillis();
System.out.println(time2-time1);
}

}

里面2个方法都是递归

递归