Java 接收一个整数并返回传递的数字的阶乘
创建两个独立的数学和应用程序包。使用名为MathHelper的类和应用程序。我需要向名为factorial(int)的MathHelper.java类添加静态方法,该类接收一个整数并返回传递的数字的阶乘。一个main方法被添加到调用的应用程序中,并调用Mathhelper.factorial。这是我到目前为止的代码Java 接收一个整数并返回传递的数字的阶乘,java,package,factorial,Java,Package,Factorial,创建两个独立的数学和应用程序包。使用名为MathHelper的类和应用程序。我需要向名为factorial(int)的MathHelper.java类添加静态方法,该类接收一个整数并返回传递的数字的阶乘。一个main方法被添加到调用的应用程序中,并调用Mathhelper.factorial。这是我到目前为止的代码 public class Application { public static void main(String[]args) { System.out.
public class Application {
public static void main(String[]args) {
System.out.println(MathHelper.doubleInt((9)));
}
}
您可以使用以下公式计算阶乘: 循环: 递归:
公共长事实(int-factNum){
如果(factNum),我认为这是正确的总体想法,但是+
需要*
-阶乘意味着将大量数字相乘,而不是相加。
public class MathHelper {
public static void main(String[]args) {
}
public static int fact(int factNum) {
if (factNum==1) {
return 1;
}
else {
return factNum + (fact(factNum - 1));
}
}
}
public long fact(int factNum) {
long fact = 1;
for (int iteration = 2; iteration <= factNum; iteration++) {
fact = fact * iteration;
}
return fact;
}
public long fact(int factNum) {
return LongStream.rangeClosed(1, factNum)
.reduce(1, (long fact, long iteration) -> fact * iteration);
}
public long fact(int factNum) {
if (factNum <= 2) {
return factNum;
}
return factNum * fact(factNum - 1);
}