Javaでの関数の再帰呼び出し

1103 ワード

再帰といえばjavaの再帰はC言語にも似ており,Javaではスタックの先進的な後出のメカニズムを利用して記述されている.
public class HelloWorld {
	public static void main(String[] args){
	//	Scanner s = new Scanner(System.in);
	//	System.out.println("       ");
	//	int num = s.nextInt();
		int c = 10 , d = 20 ;
		swep(c,d);
		System.out.println("c="+c+"d"+d);
		//java      ,        ,   。
		// :           。
		// :      ,    。
		//     c,d swep   a,b      
		//   C      。
		
		//            --->Java         
		long ret = jiecheng1(5);
		System.out.println(ret);
		int fei = GetNdata(8) ;
		System.out.println(fei);
		
	}
	//Java       ---> C               
	public static long jiecheng1(int n){		
		if(n == 1)
			return 1 ; 
		return jiecheng1(n-1)*n;
	}
	//          N   
	public static int GetNdata(int n)
	{
		if(n == 1 || n == 2)
			return 1 ; 
		return GetNdata(n-1) + GetNdata(n-2) ;
	}
	public static long jiecheng(int n){
		int t= 1 ; 
		for(int i = 1 ; i < n ; i++){
			t *= i ;
		}
		return t ;
	}
	public static void swep(int a , int b){
		int t = a ; 
		a = b ; 
		b = t ;
	}
}