主要是判断逻辑表达式是否合法
public static boolean validateExpression(String expression){
// 统一大写
expression=expression.toUpperCase();
//去空格 替换一些符号
expression=expression.replace(" ","")
.replace("AND","?")
.replace("OR","?")
.replace("NOT","!")
.replace("(","(")
.replace(")",")");
//判断几个错误的例子
if(expression.contains("??")||expression.contains("!!")
||expression.contains("?/)")||expression.contains("!/)")||expression.contains("!?")){
return false;
}
// 必须是倒数第二步:判断小括号左右括弧是否等同,括弧位置是否合法,如果括弧全部合法,则去掉所有括弧和!
int num = 0;
char[] expChars = expression.toCharArray();
for (int i = 0; i < expChars.length; i++) {
char temp = expChars[i];
if (temp == '(') {
num++;
} else i
JAVA逻辑表达式的校验和计算
最新推荐文章于 2023-11-20 15:50:34 发布