我正在尝试编写可以计算几乎任何数字的能力的代码,但 long 不够长,然后变为负数然后变为 0。我得到了使用 BigInteger 的提示,但我无法找到有什么方法可以将 String 解析为 BigInteger,甚至可能吗?这是我当前的代码:
import java.math.BigInteger;
import javax.swing.JOptionPane;
public class faculties {
static BigInteger x;
static BigInteger ans;
static BigInteger fac;
public static void main(String[] args)
{
ans =new BigInteger(1024, 0, null);
fac =new BigInteger(1024, 0, null);
x =new BigInteger(JOptionPane.showInputDialog("Enter Faculty: "));
while (x>=fac)
{
ans = ans.multiply(fac);
fac = fac+1;
System.out.println(ans);
}
}
}
我对这个 BigInteger 完全陌生,不知道如何使用它,也找不到任何建议。
我尝试了显而易见的:
BigInteger.parseBigInt
这不是什么;如果它有效,那就太好了。
BigInteger x = BigInteger.Parse(JOptionPane.showInputDialog("Enter Faculty: "));
可悲的是,这也行不通
public BigInteger(String val)
也不起作用,至少我太笨了,无法让它起作用。
https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html#BigInteger(java.lang.String) 你在这里得到的这份漂亮的小文件也没有丝毫帮助,所以谢谢你。
还有这个 如何将字符串转换为 BigInteger? 也根本帮不了我。
new BigInteger(String)
也没有帮助我,因为我不知道我应该如何使用它,我没有这方面的经验,所以谢谢你,但它没有帮助。
做了更多测试,至少 JOptionPane 部分现在可以工作了。仍然无法测试它。