Java 程序评估字符串中的数学表达式
为了在字符串中评估数学表达式,使用 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"); // JavaScript code from String 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
广告