Java 递归-如何获得没有小数的整数

Java 递归-如何获得没有小数的整数,java,recursion,double,Java,Recursion,Double,请输入一个数字: 8. 8的阶乘是40320.0 进程已完成,退出代码为0 如何获取不带小数的整数?您可以通过调用以下命令获取int值或Double值: 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) {

请输入一个数字: 8. 8的阶乘是40320.0

进程已完成,退出代码为0 如何获取不带小数的整数?

您可以通过调用以下命令获取int值或Double值:

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);
    }
}
您可以直接打印结果,无论它是int还是Double Value数据类型。

Replace

System.out.println+n+is+factorialn的阶乘

System.out.println+n+is+int factorialn的阶乘

还是更好的办法

替换

私有静态双阶乘int n

私有静态整数阶乘n

解释


由于您的方法返回一个double,因此需要将其转换为int,而int没有小数点。您可能想看看数学类的方法,如round、floor等。

如果您只需要整数,为什么要从整数切换到double?将代码更改为只处理整数变量。可能会重复
Double n = new Double(40320.99);
int i = n.intValue();