这个代码(递归方法的顺序是???????????????)

bxud3331 2019-06-08 06:45:24
package Demo1;

public class Test1 {
public static void main(String[] args){
int num=fib(20);
System.out.println(num);

}
public static int fib(int n){
if(n==1||n==2){
return 1;
}else{
return fib(n-1)+fib(n-2);//这行是怎么进栈执行,顺序是?
//是两个方法一起进栈哈市从左往右或者从右往左一个先进十几遍另一个再进十几遍呢?
}
}
}
...全文
81 3 打赏 收藏 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
K G 2019-06-10
  • 打赏
  • 举报
回复
在栈中不断建立fib方法,直到不递归
bxud3331 2019-06-08
  • 打赏
  • 举报
回复
是的,同级运算从左往右。。。。

package Demo1;

import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Arrays;

public class Test1 {
public static void main(String[] args) throws UnknownHostException{
int num=fib(5);
}
public static int fib(int n){
if(n==1||n==2){
return 1;
}else{
System.out.print(0);
int i=fib(n-2);
System.out.print(1);
int i2=fib(n-1);
int num=i+i2;
// System.out.println(num);
return num;

}
}
}



运行结果是:00110101
心怀啊 2019-06-08
  • 打赏
  • 举报
回复
先执行完左边后执行右边

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧