package Bracket;
import java.util.ArrayList;
public class Stack {
ArrayList<Character> list=new ArrayList<>();
public void push(Character s) { //将左括号压入栈中
list.add(s);
}
public void pop() { //将匹配到的左括号弹栈
list.remove(list.size()-1);
}
public boolean isEmpty() { //判断栈是否为空
return list.isEmpty();
}
}
package Bracket;
import java.util.Scanner;
public class Bracket {
public static void main(String[] args) {
boolean flag=true;
Stack stack=new Stack();
Scanner in=new Scanner(System.in);
System.out.println("请输入只包含\"(\",\")\"的字符串");
String string=in.nextLine();
System.out.println("输入的字符串为:"+string);
char[] s=string.toCharArray();
for(int i=0;i<s.length;i++) {
if(s[i]=='(') {
stack.push(s[i]);
}
else {
if(stack.isEmpty()) {
System.out.println("字符匹配失败!括号不合理!");
flag=false;
break;
}
else
stack.pop();
}
}
if(flag==true) {
System.out.println("括号匹配成功!");
}
}
}
运行结果如下所示: