public static String eval(String str) { ScriptEngineManager scriptEngineManager = new ScriptEngineManager(); ScriptEngine scriptEngine = scriptEngineManager.getEngineByName("nashorn"); String expression = str; String result =""; try { result = String.valueOf(scriptEngine.eval(expression)); } catch (ScriptException e) { e.printStackTrace(); } return result; }
之前发了个对字符串进行运算的程序,这里将这个程序进行了整理,将其定义成了一个子方法,在使用时直接传参便可以。
在参数传入一个字符串,例如5+6*3
或是有括号的3*(5+6)
这些都可以计算,最后传出结果字符串