Java 中計算字符串表達式的值
在 Java 中計算字符串數值表達式可以用
javax.script.ScriptEngine#eval(java.lang.String)
,通過調用 JavaScript 來計算
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class ExpressionCalculate {
public static void main(String[] args) {
ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
ScriptEngine scriptEngine = scriptEngineManager.getEngineByName("nashorn");
String expression = "10 * 2 + 6 / (3 - 1)";
try {
String result = String.valueOf(scriptEngine.eval(expression));
System.out.println(result);
} catch (ScriptException e) {
e.printStackTrace();
}
}
}
結果: 23