import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
public class ScriptTest {
public static void main(String[] args) throws Exception {
String s = "(7-5)*6/5";
// 验证数据合不合法。
if (s.replaceAll("[\\d+-\\\\*/()]","").equals("")) {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("JavaScript");
engine.eval("function t() {return " + s + ";}");
Invocable invocable = (Invocable) engine;
Object o = invocable.invokeFunction("t");
System.out.println(o);
}
}
}
JDK1.6以上可以使用。利用脚本很容易的。