这里我们解释如何编写一个 Java 程序来计算一个数的阶乘。首先,我们需要从用户那里读取这个数。然后我们将调用 Fact() 函数来计算这个数的阶乘。
我们可以使用以下公式计算数字 n 的阶乘:
n 的阶乘 n!=1 * 2 * 3 * 4 *........(n-1) * n
一个数 n 的阶乘是所有小于或等于 n 的正整数的乘积。数 n 的阶乘表示为 n!。
示例:5 的阶乘是 5!=1 * 2 * 3 * 4 * 5
=120
首先,我们需要声明 Fact 类。然后声明整数变量 n,f。创建一个扫描器类 sc 的对象来读取整数。然后从用户那里读取整数到变量 n。创建 Fact 类的对象为 Fact obj=new Fact()。然后调用递归函数 fact(n),递归函数是在执行期间调用自身的函数。
在 fact(int y) 函数中,它会检查参数 y>1,如果为 true,则会调用自身函数 fact(y-1),直到 y 变为 1。然后它会返回该数字的阶乘。所以我们可以将数字 n 的阶乘显示为 f。
步骤 1:声明带有公共修饰符的 Fact 类。
步骤 2:打开 main() 以启动程序,Java 程序执行从 main() 开始
步骤 3:声明整数变量 n,f。
步骤 4:创建扫描器类对象 sc。
步骤 5:将整数读入变量 n。
步骤 6:创建类 Fact 的对象为 obj。
步骤 7:调用函数 fact(n) 为 f=obj.fact(n)。
步骤 8:显示数字的阶乘为 f。
函数 int fact(int y)
步骤 1:检查是否 y>1,如果是则返回 y*fact(y-1)
步骤 2:返回 1。
import java.util.Scanner;
public class Fact {
public static void main(String[] args) {
int n, f;
Scanner sc = new Scanner(System.in);
System.out.println("Enter any integer number:");
n = sc.nextInt();
Fact obj = new Fact();
f = obj.fact(n);
System.out.println("Factorial of " + n + " is " + f);
}
int fact(int y) {
if (y > 1) {
return (y * fact(y - 1));
}
return 1;
}
}
Enter any integer number:5 Factorial of 5 is 120