java基础学习3_方法的递归调用

  • 一定要设置方法递归调用的结束条件;
  • 每一次调用的过程中一定要修改传递的参数条件
public class JavaDemo{
    public static void main(String args[]){
        System.out.println(sum(100));
    }
    public static int sum(int num){ //执行累加
        if(num == 1){ //不累加
            return 1;
        }
        return num + sum(num - 1); //递归调用
    }
}

递归处理不当会造成内存溢出

在进行阶乘计算的时候要考虑选择的数据类型,只能使用double

计算1!+2!+3!+......+90!

public class JavaDemo{
    public static void main(String args[]){
        System.out.println(sum(90));
    }
    public static double sum(int num){
        if(num == 1){
            return 1;
        }
        return fan(sum) + sum(num - 1);
    }
    public static double fan(int num){ //执行累加
        if(num == 1){ //不累加
            return 1;
        }
        return num * fan(num - 1); //递归调用
    }
}
上一篇:两种让tableview返回顶部的方法


下一篇:java基础学习4_方法的定义