JAVA基础(18)---方法的递归调用

版权声明:如需转载请标明出处 https://blog.csdn.net/yj201711/article/details/83687829

方法的递归调用

                                                指的是方法自己调用自己

在方法的递归调用时:一定要有一个结束条件

public class FunctionDemo4{


	public static void main(String[] args){
		FunctionDemo4 fun = new FunctionDemo4();
		int result = fun.add(5);
		System.out.println(result);
		int sum = fun.sum(5);
		System.out.println(sum);
		int res = fun.jiecheng(5);
		System.out.println(res);
	}
	//需求:计算1--N之间的整数的和
	public  int add(int n){
		int sum= 0;
		for(int i = 1 ; i <= n ; i++){
			sum  += i;
		
		}
		return sum;
	
	}
	//使用递归来实现计算1--n之间的整数的和
	public int sum(int n){
		int res = 0;
		if( n == 1){
			res = 1;
		}else{
			/* res = 5 + sum(4) 4 + 3+2 +1
				sum(4)  =4 + sum(3) = 3+ 2+ 1
				sum(3) =3 + sum(2)=2+1
				sum(2) = 2 + 1
			*/
			res = n + sum(n - 1); 
		}
		return res;
	}
	/*
		计算n的阶乘 res = n *(n-1) *(n -2)...1
	*/
	public int jiecheng(int n){
		
		int res = 0;
		if (n == 1){
			res = 1;
		}else{
			
			res = n * jiecheng(n - 1);
		
		}
		return res;
	
	}
}

猜你喜欢

转载自blog.csdn.net/yj201711/article/details/83687829