PoeticalJustice

导航

Recursion递归

 1 /*java.lang 核心包  如 String Math Integer System Thread等  拿来直接用
 2  * java.awt 窗口工具 GUI
 3  * java.net 网络包
 4  * java.io 输入 输出
 5  * java.util 工具类  日期 日历  定义 系统特性
 6  * 
 7  * 
 8  */
 9 public class TestRecursion {
10 
11     /**
12      * @author Administrator
13      * @version 1.0
14      *  递归 
15      *  1 方法调用本身(递归体 )
16      *  2什么时候不再调用(结束条件 也叫递归头)
17      * 
18      */
19     static int a=0;
20 
21     
22     public static void test01(){
23         a++;
24         System.out.println(a+"TestRecursion.test01()");
25         if(a<=10){
26         test01();
27         }else{
28             System.out.println("over!");
29         }
30         
31     }
32     /**
33      * 阶乘 使用递归方法 实现  
34      * @param n 阶乘的最大数
35      * @return 阶乘结果返回值
36      */
37     
38     public static long factorial(int i){
39         if(i==1){
40             return 1;
41         }else{
42             return i*factorial(i-1);
43         }
44     }
45     public static void test03(){
46         System.out.println("TestRecursion.test03()");
47     }
48     
49     
50     public static void main(String[] args) {
51         test01();
52         //5!=?   120
53         long n =factorial(5);
54         System.out.println(n);
55     }
56 
57 }

 

posted on 2017-09-28 21:44  PoeticalJustice  阅读(164)  评论(0编辑  收藏  举报