java判断字符串中的括号是否匹配,左括号“(” 和右括号“)” 的匹配

想到一种判断字符串括号是否匹配的方法,供有缘人参考。

定义一个计数器,将字符串进行遍历,遍历过程中,如果先遇到右括号,直接判定为不匹配,遇到左括号计数器加1,遇到右括号计数器减1,遍历完成如计数器结果为0,则字符串匹配,否则不匹配。

 1 public class IsMatch {
 2 
 3     public static void main(String[] args) {
 4         // 定义一个计数器,初始值为0
 5         int count = 0;
 6 
 7         // 随便给一个实例作为判断目标
 8         String str = "(((+))/5)()-/()";
 9 
10         // 开始判断
11         for (int i = 0; i < str.length(); i++) {
12             if (count < 0) {
13                 break;
14             }
15             // 临时变量,遍历的目标字符串字符
16             String temp = str.substring(i, i + 1);
17             // 左括号,计数器加1
18             if (temp.equals("(")) {
19                 count++;
20             }
21             // 右括号,计数器减1
22             if (temp.equals(")")) {
23                 count--;
24             }
25 
26             // 打印字符串的字符
27             System.out.print(temp + " ");
28         }
29 
30         // 换行
31         System.out.println();
32         if (count == 0) {
33             // 匹配为yes
34             System.out.println("yes");
35         } else {
36             // 不匹配为not
37             System.out.println("not");
38         }
39     }
40 
41 }

当然也可判断其他类型的字符是否匹配,比如{}、[]等等。

 

转载于:https://www.cnblogs.com/yangfan326/p/9647566.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值