import java.util.*;
// Algorithm and Java program to find a Factorial of a number using recursion
public class factorial {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Please enter a number: ");
int n = input.nextInt();
System.out.println("The factorial of " + n + " is " + factorial(n));
}
private static double factorial (int n)
{
if (n == 1)
return 1;
else
return n * factorial(n - 1);
}
}
请输入一个数字: 8 8的阶乘为40320.0
进程完成,退出代码为0 如何获得不带小数的整数?
答案 0 :(得分:1)
您可以通过调用以下方法获取int
值或Double
值:
Double n = new Double(40320.99);
int i = n.intValue();
您可以直接打印结果为int
或Double
Value数据类型。
答案 1 :(得分:0)
替换
System.out.println("The factorial of " + n + " is " + factorial(n));
作者
System.out.println("The factorial of " + n + " is " + (int) factorial(n));
OR (更好的方式)
替换
private static double factorial (int n)
作者
private static int factorial(int n)
说明
由于您的方法返回一个double
,因此您需要将其转换为int
,后者不带小数位。您可能想要查看Math
类的方法,例如round()
,floor()
等。