woshiwuyiying 2024-07-03 14:50 采纳率: 0%
浏览 0

括号匹配问题用java和eslipse

从键盘输入一个包含有花括号{}、中括号[]、小括号()的字符串,判断括号是否正确匹配,输出判断结果。

  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2024-07-03 14:50
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    你好!很高兴帮助你解决括号匹配问题。这个问题可以通过使用栈(Stack)数据结构来解决。下面是一个简单的 Java 程序示例,你可以在 Eclipse 中创建一个新的 Java 项目并使用以下代码:

    import java.util.Scanner;
    import java.util.Stack;
    
    public class BracketMatcher {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入包含括号的字符串:");
            String input = scanner.nextLine();
            scanner.close();
    
            // 使用栈来检查括号匹配
            Stack<Character> stack = new Stack<>();
            for (char ch : input.toCharArray()) {
                switch (ch) {
                    case '{':
                    case '[':
                    case '(':
                        stack.push(ch);
                        break;
                    case '}':
                        if (stack.isEmpty() || stack.pop() != '{') {
                            System.out.println("括号不匹配!");
                            return;
                        }
                        break;
                    case ']':
                        if (stack.isEmpty() || stack.pop() != '[') {
                            System.out.println("括号不匹配!");
                            return;
                        }
                        break;
                    case ')':
                        if (stack.isEmpty() || stack.pop() != '(') {
                            System.out.println("括号不匹配!");
                            return;
                        }
                        break;
                }
            }
    
            if (stack.isEmpty()) {
                System.out.println("括号匹配!");
            } else {
                System.out.println("括号不匹配!");
            }
        }
    }
    

    这段代码首先导入了 ScannerStack 类,然后定义了一个 BracketMatcher 类。在 main 方法中,程序使用 Scanner 从键盘读取输入的字符串。接着,程序遍历字符串中的每个字符,如果是开括号就将其推入栈中,如果是闭括号则检查栈顶元素是否匹配,如果不匹配则输出错误信息并结束程序。最后,如果栈为空则表示括号匹配,否则表示有未匹配的开括号。

    你可以将这段代码复制到 Eclipse 的 Java 编辑器中,然后运行程序来测试括号匹配功能。

    如果你需要更多关于 Java 或 Eclipse 的资源,以下是一些有用的链接:

    希望这能帮助你解决问题!如果你有任何疑问或需要进一步的帮助,请随时告诉我。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 7月3日

悬赏问题

  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见
  • ¥15 一共有五道问题关于整数幂的运算还有房间号码 还有网络密码的解答?(语言-python)
  • ¥20 sentry如何捕获上传Android ndk 崩溃
  • ¥15 在做logistic回归模型限制性立方条图时候,不能出完整图的困难
  • ¥15 G0系列单片机HAL库中景园gc9307液晶驱动芯片无法使用硬件SPI+DMA驱动,如何解决?