* A:遞歸概念和注意事項
* a: 遞歸概念
* 遞歸,指在當前方法內調用自己的這種現象
* 遞歸分為兩種,直接遞歸和間接遞歸
* 直接遞歸稱為方法自身調用自己。間接遞歸可以A方法調用B方法,B方法調用C方法,C方法調用A方法
* b: 注意事項
* 遞歸一定要有出口, 必須可以讓程序停下
* 遞歸次數不能過多
* 構造方法,禁止遞歸
* A: 遞歸計算斐波那契數列
* a:題目分析
* 1 1 2 3 5 8 13 21
* 從第三項開始,后面的每一項都等於前面兩項的和,第一項和第二項的值為1,作為程序的出口
* b: 案例代碼
/*
* 方法的遞歸調用
* 方法自己調用自己
* 適合於,方法中運算的主體不變,但是運行的時候,參與運行的方法參數會變化
代碼演示如下:
public class DiGuiDemo {
public static void main(String[] args) {
System.out.println(getFBNQ(12));
}
/*
* 方法遞歸,計算斐波那契數列
*
*/
public static int getFBNQ(int month){
if( month == 1)
return 1;
if( month == 2)
return 1;
return getFBNQ(month-1)+getFBNQ(month-2);
}
}
關於遞歸實現的原理:
調用getsum()返回調用者,依次返回直到返回到main方法中得到其中的值。