Java - 在字符串

时间:2015-11-12 12:43:53

标签: java

这是我目前的代码:

public class Evaluation {

    String str1 = "1 + 2 + 3";

    public static double evaluation(String str1){
        if (str1 == null || str1 == ""){
            return 0;
        }

        return 0;
    }
}

我希望能够使用str1并评估放在那里的任何内容。

例如。 “1 * 3 * -2”应返回-6等,且必须采用

的形式

数字,运算符,数字,运算符,数字

但我是一个非常新的程序员,我对如何实现这一目标一无所知。 谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

尝试ScriptEngine

ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript");
String input = "1 + 2 + 3";
System.out.println(engine.eval(input)); //prints 6