package\ project3; \nimport\ java.util.*; \npublic\ class\ class4\ {\n\ public\ static\ void\ main(String[]\ args)\ {\n\ try\ (Scanner\ scanner\ =\ new\ Scanner(System.in))\ {\n\ \ System.out.println("请输入包含有花括号{}、中括号[]、小括号()的字符串:");\n\ \ String\ input\ =\ scanner.nextLine();\n\ \ boolean\ isMatched\ =\ isBracketMatched(input);\n\ \ if\ (isMatched)\ {\n\ \ \ System.out.println("括号匹配正确");\n\ \ }\ else\ {\n\ \ \ System.out.println("括号匹配错误");\n\ \ }\n\ }\n\ }\n\ public\ static\ boolean\ isBracketMatched(String\ input)\ {\n\ int\ count\ =\ 0;\n\ for\ (char\ c\ :\ input.toCharArray())\ {\n\ \ if\ (c\ ==\ '{'\ ||\ c\ ==\ '['\ ||\ c\ ==\ '(')\ {\n\ \ \ count++;\n\ \ }\ else\ if\ (c\ ==\ '}'\ ||\ c\ ==\ ']'\ ||\ c\ ==\ ')')\ {\n\ \ \ if\ (count\ ==\ 0)\ {\n\ \ \ \ return\ false;\n\ \ \ }\n\ \ \ count--;\n\ \ }\n\ }\n\ return\ count\ ==\ 0;\n\ }\n}在该代码中,使用了栈的逻辑结构。通过遍历输入字符串中的每个字符,当遇到左括号({、[、()时,将其压入栈中,当遇到右括号(}、]、))时,将栈顶元素出栈并进行匹配。如果所有括号都能正确匹配并且栈最终为空,则表示括号匹配正确。如果遇到右括号时,栈为空或者栈顶元素与右括号不匹配,则表示括号匹配错误。

Java代码实现括号匹配校验:栈数据结构应用

原文地址: https://www.cveoy.top/t/topic/pr98 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录