1. 程式人生 > 其它 >|NO.Z.00033|——————————|BigDataEnd|——|Java&方法封裝.V15|---------------------------------------------|Java.v15|費氏數列.v01|遞迴實現|

|NO.Z.00033|——————————|BigDataEnd|——|Java&方法封裝.V15|---------------------------------------------|Java.v15|費氏數列.v01|遞迴實現|



[BigDataJava:Java&方法封裝.V15]                                                                             [BigDataJava.面向物件] [|章節二|方法和封裝|費氏數列的遞迴實現|]








一、費氏數列的遞迴實現
### --- 案例題目

~~~     ——>        程式設計實現費式數列中第n項的數值並返回。
~~~     ——>        費式數列:1 1 2 3 5 8 13 21 ……
二、遞迴分析
三、程式設計程式碼
### --- 程式設計程式碼

/*
    程式設計實現對費氏數列類的測試  測試類
 */
public class FeeTest {

    // 自定義成員方法實現費氏數列中第n項數值的計算並返回,n由引數指定
    // 1 1 2 3 5 8 13  21 ....
    int show(int n) { // int n = 5; int n = 4; int n = 3; int n = 2; int n = 1;
        // 1.使用遞迴的方式進行計算
        // 當n=1或者n=2時,結果是1
        if(1 == n || 2 == n) {
            return 1;
        }
        // 否則結果是前兩項的和
        return show(n-1) + show(n-2);
        // show(5) => return show(4) + show(3); => 5
        // show(4) => return show(3) + show(2); => 3
        // show(3) => return show(2) + show(1); => 2
        // show(2) => return 1;                 => 1
        // show(1) => return 1;                 => 1
    }
    
    public static void main(String[] args) {
    
        // 1.宣告FeeTest型別的引用指向該型別的物件
        FeeTest ft = new FeeTest();
        // 2.呼叫方法計算並列印
        int res = ft.show(5);
        System.out.println("計算的結果是:" + res); // 5
    }
}
四、編譯列印
### --- 編譯

C:\Users\Administrator\Desktop>javac FeeTest.java
### --- 列印輸出

C:\Users\Administrator\Desktop>java FeeTest
計算的結果是:5








===============================END===============================


Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart                                                                                                                                                    ——W.S.Landor



來自為知筆記(Wiz)