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 次瀏覽

點選啟動 職業生涯

完成此課程,即可獲得認證

開始
廣告