韵缘忆
2021-08-07 09:36
采纳率: 81.3%
浏览 28
已结题

java递归函数一下

}        for(int i = 5;i<=10;i++){ //
        System.out.print(getNumber(i)+"\t");
    }
    
}
public static int getNumber(int number){
    if(number==1||number==2){
        return 1;
    }else{
        return gerNumber(number-1)+gerNumber(number-2);
    }
}

每一句话都解释一下吗

  • 好问题 提建议
  • 收藏

1条回答 默认 最新

  • guwei4037 2021-08-07 09:44
    已采纳

    你要学会设置断点,调试就知道程序运行过程了。
    上次循环不说了,关键看getNumber这个方法,假设传一个参数5,那么会执行else ,

    1. gerNumber(4)+gerNumber(3)
    2. gerNumber(3)+gerNumber(2)+gerNumber(2)+gerNumber(1)
    3. gerNumber(2)+gerNumber(1)+gerNumber(2)+gerNumber(2)+gerNumber(1)

    最后把gerNumber(2) = 1,gerNumber(1) = 1,把它们一起加起来,正好是5.

    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题