早教吧作业答案频道 -->其他-->
就一句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代码读不懂请高...的网友还看了以下:
1.下列对欧姆定律表达式I=U/R的理解中正确的是A.U与R的比值是一个恒量B.导体的电阻一定时, 2020-04-08 …
I have been disappointed in love.Xiaoyan,I have n 2020-05-16 …
I'm miss U baby I wanna kiss U again Take me away 2020-05-16 …
导体中的电流I和导体两端的电压U成正比和导体的电阻R成反比即I=U/RR=U/IU=I/R导体的电 2020-06-02 …
线性代数问题,证明det(I+x*u')=1+u'*x证明det(I+x*u')=1+u'*x,I 2020-06-05 …
(1/2)已知电路中某元件上电压U和i分别为u=-100sin314tV,i=10cos314tA 2020-07-19 …
U-I图象直线越倾斜是不是电阻越大那么在I-U图象中,直线越倾斜电阻越小!我说的I-U的I是纵轴U 2020-07-30 …
相位差为±90℃电压都超前于电流吗?若φ=Ψu-Ψi=0°,这时就称u与i相位相同,或者说u与i同 2020-07-30 …
由欧姆定律I=UR得U=IR,正确的理解是()A.R与I、U无关B.R一定时,U与I成正比C.I一定 2020-10-30 …
下列说正确的是()A.根据R=UI可知,R与U成正比,与I成反比B.R=UI是电阻的关系式,R与U、 2020-10-30 …