Java实现逻辑表达式解析与运算
import java.util.HashMap;
import java.util.Map;
public class LogicEvaluator {
public static void main(String[] args) {
String expression = "${STUDENT_NAME =张三 && (AGE > 18 || GRADE <= 3)}";
Map<String, Object> variables = new HashMap<>();
variables.put("STUDENT_NAME", "张三");
variables.put("AGE", "12");
variables.put("GRADE", "4");
boolean result = evaluateLogicExpression(expression, variables);
System.out.println(result);
}
public static boolean evaluateLogicExpression(String expression, Map<String, Object> variables) {
expression = expression.replace("${", "").replace("}", "");
if (expression.startsWith("(")){
expression = expression.replace("(", "").replace(")", "");
}
if (expression.startsWith("!"