从键盘输入一个包含有花括号、中括号、小括号的字符串判断括号是否正确匹配输出判断结果。java编写
下面是一个Java编写的判断括号是否正确匹配的代码示例:
import java.util.Scanner;
import java.util.Stack;
public class BracketMatching {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入包含有花括号{}、中括号[]、小括号()的字符串:");
String input = scanner.nextLine();
scanner.close();
boolean isMatched = isBracketMatched(input);
if (isMatched) {
System.out.println("括号匹配正确");
} else {
System.out.println("括号匹配不正确");
}
}
public static boolean isBracketMatched(String input) {
Stack<Character> stack = new Stack<>();
for (char c : input.toCharArray()) {
if (c == '{' || c == '[' || c == '(') {
stack.push(c);
} else if (c == '}' || c == ']' || c == ')') {
if (stack.isEmpty()) {
return false;
}
char top = stack.pop();
if ((c == '}' && top != '{') || (c == ']' && top != '[') || (c == ')' && top != '(')) {
return false;
}
}
}
return stack.isEmpty();
}
}
该代码通过使用栈来判断括号是否正确匹配。遍历字符串中的每个字符,如果是左括号则入栈,如果是右括号则与栈顶元素进行匹配,如果匹配成功则栈顶元素出栈,否则返回false。最后判断栈是否为空,为空则表示所有括号都正确匹配,返回true;否则返回false
原文地址: https://www.cveoy.top/t/topic/hK8A 著作权归作者所有。请勿转载和采集!