本文介绍了Factorial in Java的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我一直在使用这个Java的阶乘程序:
I've been using this factorial program for Java:
public static long factorial(int a) {
if(a<1) {
return 1;
}
long result=1;
long x=a;
while(x>1) {
result*=x;
x--;
}
return result;
}
然而,似乎破裂并在阶乘后返回负数它返回负数一段时间然后只返回0。
However, it seems to "break" and return a negative number after the factorial of 25. It returns a negative number for a while then just returns "0."
我做错了导致这个吗?
推荐答案
你已经溢出 long
。
使用 BigInteger
而不是。
这篇关于Factorial in Java的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!