实现一个四则运算程序,输入为一个四则运算式(不带括号),返回该算式的结果(java实现)
1个回答
展开全部
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以上可以使用。利用脚本很容易的。
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以上可以使用。利用脚本很容易的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询