首页>>程序代码>>Java递归算法示例及算法分析研究
Java递归算法示例及算法分析研究
来源: 时间: 2015-02-11 21:05:13

Java递归例子(求5的阶乘):

public class Test {

static int multiply(int n){

if(n==1||n==0)

return n;

else

return n*multiply(n-1);

}

public static void main(String[] args){

System.out.println(multiply(10));

}

}

上面的multiply是一个阶乘的例子。其实递归递归,从字面上解释就是在方法本身调用自己的方法,或者间接调用;看上面的程序,拿multiply(5)来说:

n=5;执行 5*multiply(4);

--------------------

这时候看multiply(4)

n=4 执行 4*multiply(3);

-------------------

看multiply(3)

n=3,执行 3*multiply(2);

---------------

mulitply(2);

n=2 执行 2*mulitply(1);

这时候,return 1;往上返回

2*1向上返回

3*(2*1)向上返回

4*(3*(2*1)) 向上返回

5*(4*(3*(2*1)) ) = 120

所以程序输出120;

这事简单的递归的例子;所以可以看出来递归的关键得有递归出口(本体的If语句),还有递归方法; 

本页地址:http://www.easytd.com/chengxudaima/d_15021121742.html

网友评论留言

验证码 换一张
上一篇:PHP中mysql数据库事务处理代码实例 下一篇:Java HTMLParser框架遍历标签内容