表达式形式如:a – b + c,该表达式是用一个字符串对象表示的,其中a、b和c都是int类型,现在已经知道a、b和c的值,如何求得表达式的值。

解决方案 »

  1.   

    你是想自己写程序,还是想找个开源包?Expr4J   ExpressionJ挺多的,自己搜索下吧。
      

  2.   


    public static void main(String[] args) throws ScriptException {
    ScriptEngineManager sem = new ScriptEngineManager();
    ScriptEngine se =  sem.getEngineByExtension("js");
    System.out.println(se.eval("2+3-1"));
    }
      

  3.   

    当被减数是负数时会抛出以下错误:
    javax.script.ScriptException: sun.org.mozilla.javascript.internal.EvaluatorException: Invalid decerement operand.
      

  4.   


    System.out.println(se.eval("2+3-(-1)"));负数的话,加个括弧就可以了