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

更新日期:2019-年 7 月 30 日

3K+ 浏览量

职业生涯启动

通过完成课程获得证书

开始
广告