亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java函式自己調用自己

java函式自己調用自己

郎朗坤 2019-02-18 08:10:20
public class Recursion { public static void main(String[] args) { new Recursion().run(); } public void run(){ int value = f(3); System.out.println(value); } public int f(int value){ if (value == 1) { return 1; } else { return f(value - 1) + 1; } } }java編程新手,以上程序是函式自己調用自己,不過我無法理解,求IT大神們解釋一下,謝謝大家了。
查看完整描述

4 回答

?
揚帆大魚

TA貢獻1799條經驗 獲得超9個贊

這是遞歸運算,關鍵詞給你了 百度解釋很多

查看完整回答
反對 回復 2019-03-01
?
holdtom

TA貢獻1805條經驗 獲得超10個贊

把你的代碼調整成如下格式:

public static void main(String[] args) {
    f(3);
}

private static int f(int value) {
    if (value == 1) {
        return 1;
    } else {
        int ret = f(value - 1) + 1;
        return ret;
    }
}

f(3)最終返回3,函數的調用關系如下:

main
    → f(3)                // f(3) 等于 f(2) + 1 
        → f(2) + 1        // 遞進
            → f(1) + 1    // 遞進
                → f(1)    // 遇到臨界值,即 value == 1
                ← 1       // 返回
            ← 1 + 1       // 回歸
        ← 2 + 1           // 回歸
    ← 3                   // f(3)返回3
查看完整回答
反對 回復 2019-03-01
  • 4 回答
  • 0 關注
  • 630 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號