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
廣告