JDK自帶的類可以實現(xiàn)調(diào)用JS的功能残吩,可以實現(xiàn)執(zhí)行字符串中的運算公式的功能
public class runString {
static ScriptEngine jse = new ScriptEngineManager().getEngineByName("JavaScript");
/**
* @param args
*/
public static void main(String[] args) {
//支持[]符號計算啤握,不支持{}符號計算
String strs = "1+1*2+(10-(2*(5-3)*(2-1))-4)+10/(5-0)";
try {
System.out.println(jse.eval(strs));
} catch (Exception t) {
}
}
如果公式中存在變量作為運算的元素的話棋嘲,可以借鑒使用replaceAll()方法將相應的變量替換成實際的數(shù)值帽馋。如果是多個變量可以利用循環(huán)遍歷的方式來解決。