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);
    }
}

每一句话都解释一下吗

你要学会设置断点,调试就知道程序运行过程了。
上次循环不说了,关键看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.