Java 如何将阶乘的结果接收到另一个类?
问题是接收以前计算的结果Java 如何将阶乘的结果接收到另一个类?,java,Java,问题是接收以前计算的结果 public class FactorialArray { public static long[] factorial = new long[21]; public static int fact = 0; static { factorial[0] = 1; } public static long factorial(int x) { while (fact < x) {
public class FactorialArray {
public static long[] factorial = new long[21];
public static int fact = 0;
static {
factorial[0] = 1;
}
public static long factorial(int x) {
while (fact < x) {
long element;
factorial[fact] = element.getFact(element);
fact++;
}
return factorial[x];
}
公共静态长[]阶乘(int x){ 阶乘factorj=新阶乘()
while(事实
factorial[fact]=element.getFact(element)
?我认为您可以使用另一个类,并使用一个简单的返回方法,将实际包含的代码放在main中,这样您就不需要声明任何static,方法返回值。问题是什么?它是如何工作的?它在元素下面加下划线。getFact(元素)返回阶乘[x]这就是为什么它显示为0,我们一直计算到x-1。而是打印阶乘数组。并使用输入值创建数组长度
public class Factorial {
private long factorialCalculator(int x){
if(x==0 || x==1)
return 1;
else
return (long)x*factorialCalculator(x-1);
}
public long getFact(int x){
return factorialCalculator(x);
}
}
while (fact < x) {
long element;
factorial[fact] = factObj.getFact(fact);
fact++;
}
return factorial;
}
static class Factorial {
private long factorialCalculator(int x) {
if (x == 0 || x == 1)
return 1;
else
return (long) x * factorialCalculator(x - 1);
}
public long getFact(int x) {
return factorialCalculator(x);
}
}