使用递归时需要注意的问题:
1、递归有出口:否则就会递归太深,导致内存溢出
2、递归只能解决规模较小的问题
递归相关案例:
程序求阶乘:
通过scanner来获取想要得知阶乘的值,然后用a来接收对应的值
递归方法:当n为1时,递归出口为1;当n为其他值时,调用递归函数
/*
递归求阶乘
*/
public class DiGuiTest01 {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
System.out.println("请输入想知道的阶乘的值:");
int a = sc.nextInt();
int result = jc(a);
System.out.println(a+"的阶乘为"+result);
}
public static int jc(int n){
if (n == 1){
return 1;
}else{
return n*jc(n-1);
}
}
}