Java 程序,将数学字符串转换为 int


要评估数学字符串为 int,请在 Java 中使用 Nashorn JavaScript,即脚本。Nashorn 唤起动态特性,它是在 Java 7 中引入的,可用于提升性能。

对于脚本,请使用 ScriptEngineManager 类作为引擎

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

现在,请使用 put() 在脚本引擎的状态中设置键值对

scriptEngine.put("one", 10);
scriptEngine.put("two", 50);
scriptEngine.put("three", 40);

现在,这里有数学字符串。请使用 eval 进行评估

String strExp = "(one + two - three) == 20";
Object evalExp = scriptEngine.eval(strExp);

示例

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class Demo {
   public static void main(String[] args) {
      ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
      ScriptEngine scriptEngine = scriptEngineManager.getEngineByName("nashorn");
      scriptEngine.put("one", 10);
      scriptEngine.put("two", 50);
      scriptEngine.put("three", 40);
      try {
         String strExp = "(one + two - three) == 20";
         Object evalExp = scriptEngine.eval(strExp);
         System.out.println("Is "+strExp + " ? " + evalExp);
      } catch (ScriptException se) {
         se.printStackTrace();
      }
   }
}

输出

Is (one + two - three) == 20 ? true

更新时间:2019 年 7 月 30 日

286 次浏览

点击启动 职业生涯

完成此课程,即可获得认证

开始
广告
© . All rights reserved.