如何计算以字符串形式给出的数学表达式?

我正试图编写一个Java例程,从String值计算数学表达式,如:

  1. ”;“5+3”
  2. ”;10-40“
  3. ”;(1+10)*3“

我想避免很多if-then-else语句。
我该怎么做

使用JDK1.6,您可以使用内置Javascript引擎

导入javax.script.ScriptEngineManager;
导入javax.script.ScriptEngine;
导入javax.script.ScriptException;
公开课考试{
公共静态void main(字符串[]args)引发脚本异常{
ScriptEngineManager mgr=新建ScriptEngineManager();
ScriptEngine=mgr.getEngineByName(“JavaScript”);
字符串foo=“40+2”;
系统输出打印LN(引擎评估(foo));
}
}

发表评论