天天看點

【JAVA】程式設計(5)---遞歸

作業要求:利用遞歸來計算出 從1加到100的數和 ...總結:由于遞歸是“ 自己調用自己的結構 ”,是以必須要手動設定一個選擇卡口來攔截“ 已經找到結果的那一次調用自己 ”,并讓方法的遞歸循環在此時結束,傳回結果.......

作業要求:

利用遞歸來計算出 從1加到100的數和 ;

public class 遞歸 {
    public static void main(String[] args) {
        System.out.println(diGui(100));
    }

    public static int diGui(int n) {
        //接收輸入 n=1 的情況并輸出結果
        if (n == 1) return 1;
      
        /*在else的return中,再次進入digui()前,前面的 n 都已經進入到了加法運算中,後面的遞歸操作結束在當 新n=1 時,最後傳回的是1,然後進入
        到加法運算中,此時加法運算結束,傳回值産生;通過上一行中的流程分析得知:if(n==1)對 n=1 情況的選擇步驟是必需的,否則遞歸無法形成,若要
        計算一個數的階乘也是相同的道理,隻需把第二個選擇中的代碼傳回值運算改為“*”即可,如:return n*diGui(n-1);*/    
      
        else return n + diGui(n - 1);
        
    }
}           

輸出結果:

5050

Process finished with exit code 0           

總結:由于遞歸是“ 自己調用自己的結構 ”,是以必須要手動設定一個選擇卡口來攔截“ 已經找到結果的那一次調用自己 ”,并讓方法的遞歸循環在此時結束,傳回結果。

部落客能力有限,若程式有bug或有其他不當之處,請狠狠打臉部落客           (~ ̄(OO) ̄)ブ