判断优先级类YouXian.class:
import java.util.LinkedList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.*;
class YouXian {
char op; // 运算符符号
int level; // 运算符优先级
public YouXian(String op) {
this.op = op.charAt(0);
// 根据不同的运算符号分配优先级
if (op.equals("+") || op.equals("-")) {
this.level = 1; // 加减运算优先级为1
} else if (op.equals("*") || op.equals("/")) {
this.level = 2; // 乘除运算优先级为2
} else if (op.equals("(")) {
this.level = -3; // "("优先级为-3
} else {
this.level = -1; // ")"优先级为-1
}
}
}
Counter类:
import java.util.Deque;
import java.util.LinkedList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;