我正在尝试编写一个 Java 例程来评估以下值的数学表达式String:
String
"5+3"
"10-40"
"(1+10)*3"
我想避免很多 if-then-else 语句。我怎样才能做到这一点?
使用JDK1.6,可以使用内置的Javascript引擎。
import javax.script.ScriptEngineManager; import javax.script.ScriptEngine; import javax.script.ScriptException; public class Test { public static void main(String[] args) throws ScriptException { ScriptEngineManager mgr = new ScriptEngineManager(); ScriptEngine engine = mgr.getEngineByName("JavaScript"); String foo = "40+2"; System.out.println(engine.eval(foo)); } }