import java.util.Scanner; import java.util.Stack; public class Kuohao { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.next(); check(str); } public static void check(String str) { Stack<Character> stack = new Stack<Character>(); //循环该数组下标,栈为空进栈 for (int i = 0; i < str.length(); i++) { char c = str.charAt(i); if (stack.isEmpty()) { stack.push(c); } else { //当前的栈顶 char top = stack.peek(); //通过ascll码判断 if (top-c == -1 || top - c == -2) { stack.pop(); } else { stack.push(c); } } } //当栈为空时说明括号完全匹配 if (stack.isEmpty()) { System.out.println("Yes"); } else { System.out.println("No"); } } }
时间: 2024-02-10 18:29:43 浏览: 92
java代码-import java.util.Scanner;
5星 · 资源好评率100%
这是一段 Java 代码,用于检查一个字符串中的括号是否匹配。这个程序首先会读入一个字符串,然后调用 `check` 方法来检查其中的括号。`check` 方法使用一个栈来存储括号,并循环遍历字符串中的每个字符。如果当前栈为空,则将该字符进栈。否则,将栈顶元素与当前字符进行比较,如果它们是一对括号,则弹出栈顶元素,否则将当前字符进栈。最终,如果栈为空,则说明括号匹配,否则不匹配。
阅读全文