关于java.math.BigInteger

pin*_*ing 0 java biginteger

当我尝试计算像"7 + 3"之类的字符串然后将结果存储在BigInteger变量中时,我面临BigInteger的问题,它会抛出一个NumberFormat异常.有关这如何工作的任何指示?例如:

    String ist="7+2";
    java.math.BigInteger a = new java.math.BigInteger(ist);
Run Code Online (Sandbox Code Playgroud)

jsp*_*cal 9

BigInteger sum =(new BigInteger(7)).add(new BigInteger(3))

JepLite,Jeks,JbcParser,MESPJEP都可以解析像"7 + 3"这样的表达式


dic*_*ciu 6

BigInteger无法计算表达式.事实上,我不知道Java中的任何解决方案来评估任意算术表达式 - 您可以尝试使用Groovy或自己解析表达式.

如果您正在考虑解析,最简单的方法可能是从中缀符号转换为抛光符号,然后一次评估一个操作符的波兰形式.查找调车场算法.