递归是一种计算算法,程序调用自身的编程技巧成为递归,一般来说递归需要有边界条件,当不满足边界条件时一直执行递归,直到满足边界条件,递归返回
package DiGui;
/**
* 键盘录入一个整数n 求n的阶乘
*/
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
//创建Scanner对象
Scanner sc=new Scanner(System.in);
//把键盘录入的n赋值给n
int n=sc.nextInt();
//调用diGui方法 输出结果
System.out.println(DiGui.diGui(n));
}
}
package DiGui;
/**
* 用发递归实现n的阶乘
* 边界条件
*
*/
public class DiGui {
public static double diGui(int n){
//0的阶乘是0
if(n==0){
return 1;
}
//这里的递归条件是n=1
if(n==1){
return n;
}
//如果n不为1就一调用这个方法直到n为1
else{
return n*diGui(n-1);
}
}
}