Java程序,用于评估String中的数学表达式

要评估String中的数学表达式,请使用Java中的Nashorn JavaScript(即脚本)。Nashorn调用Java 7中引入的动态功能以提高性能。

要编写脚本,请对引擎使用ScriptEngineManager类-

ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
ScriptEngine scriptEngine = scriptEngineManager.getEngineByName("JavaScript");

现在,对于来自字符串的JavaScript代码,请使用eval即执行脚本。在这里,我们正在评估字符串中的数学表达式-

Object ob = scriptEngine.eval("9 + 15 + 30");
System.out.println("Result of evaluating mathematical expressions in String = "+ob);

示例

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
public class Main {
   public static void main(String[] args) throws Exception {
      ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
      ScriptEngine scriptEngine = scriptEngineManager.getEngineByName("JavaScript");
      //来自String的JavaScript代码
      Object ob = scriptEngine.eval("9 + 15 + 30");
      System.out.println("Result of evaluating mathematical expressions in String = "+ob);
   }
}

输出结果

Result of evaluating mathematical expressions in String = 54