利用return语句实现方法的递归。

来源:互联网 发布:网络桥接器 编辑:程序博客网 时间:2024/05/29 18:54

利用return语句实现方法的递归。

如下是一个简单的递归算法,实现5+4+3+2+1的和。
public class MultiN {

 public static void main(String[] args) {
  System.out.println(Multi(5));  / 为n赋值为5.
 }

 /*
  * 1、Multi(5)
  * return 5 * Multi(5 - 1)
  * 2、Multi(4)
  * return5 * 4 * Multi(4 - 1)
  * 3、Multi(3)
  * return5 * 4 * 3 * Multi(3 - 1)
  * 3、Multi(2)
  * return5 * 4 * 3 * 2 * Multi(2 - 1)
  * 4、Multi(1)
  * return5 * 4 * 3 * 2 * 1;
  *
  * return 5 * 4 * 3 * 2 * 1
  *
  */
 public static int Multi(int n){
  return (n == 1 || n == 0) ? n : n * Multi((n -1));
 }
}
          先赋值一个n=5,然后经过三目运算判断之后,返回一个值,就是上述第一个值。
          然后继续判断,继续的返还一个新的值,就是上述第二个值,然后不断的重复,直至满足三目运算符中的条件,才停止下来,返还一个n值。
          而n就是 5 * 4 * 3 * 2 * 1。
           注意一直运算的是Multi()这个数据。

1 0