import java.util.Stack;
public class 语法匹配 {
public static void main(String[] args) {
String s = "[";
检测(s);
}
private static void 检测(String s) {
Stack
stack = new Stack
();
for(int i = 0 ;i < s.length() ;i++){
char c = s.charAt(i);
if(c == '(' || c == '{' || c == '['){
stack.add(c);
}
else if(c == ')'){
if(stack.peek() == '('){
stack.pop();
}else{
System.out.println("语法错误," + c + "不匹配");
return ;
}
}
else if(c == ']'){
if(stack.peek() == '['){
stack.pop();
}else{
System.out.println("语法错误," + c + "不匹配");
return ;
}
}
else if(c == '}'){
if(stack.peek() == '{'){
stack.pop();
}else{
System.out.println("语法错误," + c + "不匹配");
return ;
}
}
}
if(stack.isEmpty()){
System.out.println("语法正确");
}else{
System.out.println("语法错误");
}
}
}
栈验证表达式中的括号是否匹配
最新推荐文章于 2023-11-08 09:56:07 发布