您可以使用JDK1.6附带的内置Javascript引擎来评估包含数学表达式的字符串.
这是一个例子:
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class Myclass {
public static void main(String[] args) {
try {
ScriptEngineManager sem = new ScriptEngineManager();
ScriptEngine se = sem.getEngineByName("JavaScript");
String myExpression = "('abc' == 'xyz' && 'thy' == 'thy') || ('ujy' == 'ujy')";
System.out.println(se.eval(myExpression));
} catch (ScriptException e) {
System.out.println("Invalid Expression");
e.printStackTrace();
}
}
}
请记住替换以下内容:
‘AND’与’&&’,
“或”与“||”,
‘=’必须是’==’
否则它将不接受您的表达式并将抛出javax.script.ScriptException