JAVA基础--递归

递归

  • 递归即调用自身,递归是使用栈来实现;深度越大占用的空间内存就越多
  • 能不用递归就不用递归,在基数较小的情况下可以使用,便于快速解决问题

递归结构的两个部分

  • 递归头:什么时候不调用自身方法。如果没有头将陷入死循环
  • 递归体:什么时候需要调用自身方法
import java.util.Scanner;
public class Demo03 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = 0;
        //输入n的值
        System.out.print("请输入n的值:");
        if(scanner.hasNextInt()){
            n = scanner.nextInt();//获取一个int型数据
        }
        //调用Fac方法求阶层
        System.out.println(n+"!="+ Fac(n));
    }
    //求n!的方法 3*2*1
    public static int Fac(int x){
        int value = 0;
        //0的阶乘为1
        if(x == 0 || x == 1){
            value = 1;
        }
        else {
            value =x * Fac(x-1);
        }
        return value;
    }
}

运行结果如下:

posted @ 2024-03-08 16:31  月亮警察  阅读(4)  评论(0编辑  收藏  举报