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