分析:
(1):1~n的阶乘和说明需要外面用个for循环得到1~n的单值数;
(2):每个数值的阶乘可以用递归的方式实现;
(3):最终用一个变量sum来累加1~n的阶乘和;
概念:递归就是自己调用自己的概念,但是需要一个终止条件,这里的终止条件是当调用的值为1时直接返回退出递归调用;
代码如下:
public class Test3 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入一个数值~~");
int a=scanner.nextInt();
// System.out.println(factorial(a));
int sum=0;
for (int i=1;i<=a;i++){
sum+=factorial(i);
}
System.out.println(sum);
}
//递归回调函数
public static int factorial(int a){
if (a==1){
return 1;
}
return factorial(a-1)*a;
}
}