java parses logical expressions (strings that perform logical operators)
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
public class expression
{
public static void main(String[] args) throws Exception {
String str = “(a and b) or (c and d)”;
str = str. replaceAll(“or”, “||”);
str = str. replaceAll(“and”, “&&”);
System.out.println(str);
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName(“js”);
engine. put(“a”,true);
engine. put(“b”,false);
engine.put(“c”,false);
engine.put(“d”,true);
Object result = engine.eval(str);
System.out.println(“Result type: ” + result.getClass().getName() + “, calculation result: ” + result);
}
}
Original address: http://blog.sina.com.cn/s/blog_acdc06250101p5dh.html