我在java中使用Javascript引擎来计算我作为String插入的数学表达式的值。这是代码:
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("JavaScript");
String infix = "(2^2+5*2+3)%13";
Double F = (Double) engine.eval(infix);
int f = F.intValue();
System.out.println(f);`
然而,它给了我0,正确的解决方案是4.我明白这是因为^,因为当我试图写这样的表达式"(2 * 2 + 5 * 2 + 3)%13",我得到了正确的结果。那么,我的问题是如何使用javascript eval获取数字的力量?