阶乘定义:一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。
递归:一句话就是,方法自己调用自己。
需求:用递归求5的阶乘,并把结果在控制台输出
思路:
1.定义一个方法,用于递归求阶乘,参数为一个int类型的变量
2.在方法内部判断该变量的值是否为1
是:return 1;
不是:return n * (n-1)!
3.调用方法
4.输出结果
代码:
package com.yang.demo;
/**
* @author WangYang
* @version 1.0
* @create 2020-02-10 14:28
* 一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。
* 自然数n的阶乘写作n!。
*/
public class FactorialDemo {
public static void main(String[] args) {
//调用方法
int result = getFactorialResult(5);
System.out.println("阶乘结果是"+result);
}
//Factorial result
public static int getFactorialResult(int n){
//在方法内部判断该变量值是否为1
if(n == 1){
//是:返回1
return 1;
}else {
//不是:返回n * (n-1)!
return n * getFactorialResult(n-1) ;
}
}
}