下面的str是你需要计算的算式的字符串,用我的程序运行一下就能输出计算结果
public static void main(String[] args) throws ScriptException {
String str="Math.log(40)+(50*4+2+Math.sin(50))";
ScriptEngineManager sem = new ScriptEngineManager();
ScriptEngine se = sem.getEngineByName("javascript");
try {
String script = "function say(){ return eval('"+str+"');}";
se.eval(script);
Invocable inv2 = (Invocable) se;
Object res = inv2.invokeFunction("say");
System.out.println(res);
} catch (Exception e) {
e.printStackTrace();
}
}