早教吧作业答案频道 -->其他-->
就一句Java代码读不懂请高人帮忙解释下publicstaticintf(intn){if(n==1||n==2){return1;}else{returnf(n-1)+f(n-2);}}问题怎么使用输出用递归算100-1的和我能看懂这个太绕啦2个数都是自
题目详情
就一句Java代码读不懂 请高人帮忙解释下
public static int f(int n) {
if(n==1 || n==2) {
return 1;
} else{
return f(n-1) +f(n-2);
}
}
问题怎么使用输出 用递归算100-1的和 我能看懂
这个太绕啦 2个数都是自己掉自己的方法 无限循环 怎么能输出数值啊 怎么使用 他的目的是什么
百度那个我早看啦 对我帮助不大 所以分不能给你 不好意思 但还是谢谢你
public static int f(int n) {
if(n==1 || n==2) {
return 1;
} else{
return f(n-1) +f(n-2);
}
}
问题怎么使用输出 用递归算100-1的和 我能看懂
这个太绕啦 2个数都是自己掉自己的方法 无限循环 怎么能输出数值啊 怎么使用 他的目的是什么
百度那个我早看啦 对我帮助不大 所以分不能给你 不好意思 但还是谢谢你
▼优质解答
答案和解析
public static int f(int n) { // 方法,返回值是整形,有一个参数:n
if(n==1 || n==2) { // 如果n等于1或者2就直接返回1
return 1;
} else{ // 如果不等于1或者2就把n减一,然后递归运行直到n等于1或2为止.另外一组也是同样运行.
return f(n-1) +f(n-2);
}
}
return f(n-1) +f(n-2); 这里使用了递归调用,就是说自己调用自己.从程序上看比较难看,你用断点的执行方式执行就会好看很多了.
还有就是要注意的,递归是的次数是有限制的.java默认的深度好像是1024层.如果大于这个次数,是会抛出堆栈溢出异常的.
不过这样的程序在还没有堆栈溢出之前就死了.因为CPU负荷已经满了.
试试运行f(1000)嘿嘿!
if(n==1 || n==2) { // 如果n等于1或者2就直接返回1
return 1;
} else{ // 如果不等于1或者2就把n减一,然后递归运行直到n等于1或2为止.另外一组也是同样运行.
return f(n-1) +f(n-2);
}
}
return f(n-1) +f(n-2); 这里使用了递归调用,就是说自己调用自己.从程序上看比较难看,你用断点的执行方式执行就会好看很多了.
还有就是要注意的,递归是的次数是有限制的.java默认的深度好像是1024层.如果大于这个次数,是会抛出堆栈溢出异常的.
不过这样的程序在还没有堆栈溢出之前就死了.因为CPU负荷已经满了.
试试运行f(1000)嘿嘿!
看了 就一句Java代码读不懂请高...的网友还看了以下:
哪位高手帮我解释一下这个疑惑!!!在eigrp中在边界路由器接口通过路由汇总ipsummary-a 2020-05-17 …
设f(x)=x-(a+bcosx)sinx,确定a,b的值,使f(x)成为x的尽量高阶的无穷小,并 2020-06-12 …
三角形ABC中,顶点A的坐标为(1,2),高BE,CF所在直线的方程分别为2x-3y+1=0,x+ 2020-06-27 …
一个高0.9dm的谷囤上面是圆锥形,下面是圆柱形.量得底面周长是6.28m,圆柱的高是0.3m,这 2020-06-28 …
基础开挖深度怎么得出已知低标高-3.600,垫层0.1,(图纸上出正负零层高是4.200,标高是- 2020-07-16 …
高数分段函数极值点y=-x(x小于等于0)y=x+1(x大于0)这样一个分段函数,x=0是跳跃间断 2020-07-22 …
地基梁梁顶标高是-0.我这个工程是地理基础的,单层框架结构,正负零为界,以下砌实心砖,以上砌空心砖 2020-07-27 …
1.25时=几时几分4L50ml=多少升6个十,2个一,9个0.1,5个0.01这个数是1.25时= 2020-11-01 …
建筑和结构标高相关我现在施工中的图纸,建筑图上标的全是结构标高.现地面结构标高为+0.35.地面做法 2020-11-02 …
一滴水中有多少原子呢?我们要先估计一下一滴水有多少体积:如果这滴水表面有1cm2,而高度约为0.1c 2020-12-27 …