首頁 > 其他

詳細分析Java遞迴思想

2019-12-10 17:38:01

   所謂遞回就是自己呼叫自己,呼叫需要有一個出口,否則就成為死迴圈了。遞回和for迴圈的主要區別是,遞回的呼叫有自己的stack 而for的lOOP呼叫共用stack

1

開啟JavaIDE,myeclipse


2

新建一個Java專案,名字根據自己喜好起。File--new--java project 填寫名字後點選完成


3

右鍵專案下的src--新建包名字任意取盡量避免使用中文--然後右鍵包名新建類

新建包--右鍵src--new--package

新建類--右鍵包名--new-class



4

包名和類名

package com.nisrosoft.test;

public class digui 


5

程式碼如下

package com.nisrosoft.test;

public class digui {

static int mpl(int c){

if(c==1||c==0)

return c;

else

return c*mpl(c-1);

}

public static void main(String [] args){

System.out.println(mpl(20));

}

}


6

拿mpl(5)來說: ?n=5;執行 5*mpl(4); ? ?mpl(4) ?n=4 執行 4*mpl(3);?mpl(3) ? n=3,執行 3*mpl(2);?mpl(2); ? n=2 執行 2*mpl(1); ?return 1;開始遞回? 2*1開始遞回 ?3*(2*1)開始遞回 ?4*(3*(2*1))開始遞回? 5*(4*(3*(2*1)) ) = 120 ?程式輸出120; ?

7

上面程式的執行結果



IT145.com E-mail:sddin#qq.com