判断括号是否匹配的java方法_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 判断括号是否匹配的java方法

判断括号是否匹配的java方法

 2014/11/17 22:06:44  sunshiwu1984  程序员俱乐部  我要评论(0)
  • 摘要:验证需要判断一个字符串里括号是否成对出现,发现正则满足不了,只能用java方法,网上找了下,没有合适的,自己参考简单的例子改造了个,希望对大家有用。publicclassValidatorMethod{publicbooleanisMatch(Strings){Stack<Character>sc=newStack<Character>();char[]c=s.toCharArray();for(inti=0;i<c.length;i++){if(c[i]=='
  • 标签:方法 Java
验证需要判断一个字符串里括号是否成对出现,发现正则满足不了,只能用java方法,网上找了下,没有合适的,自己参考简单的例子改造了个,希望对大家有用。

public class ValidatorMethod
{
  public boolean isMatch(String s)
  {
        Stack<Character> sc=new Stack<Character>();
        char[] c=s.toCharArray();
        for (int i = 0; i < c.length; i++) {
            if (c[i]=='('||c[i]=='['||c[i]=='{') {
                sc.push(c[i]);
            }
            else if (c[i]==')') {
            if(sc.isEmpty()){
                    return false;
            }
            else{
                if (sc.peek()=='(') {
                        sc.pop();
                    }
            }
            }
            else if (c[i]==']') {
            if(sc.isEmpty()){
                    return false;
            }
            else
            {
            if (sc.peek()=='[') {
                     sc.pop();
                }
            }
            }else if (c[i]=='}') {
            if(sc.isEmpty()){
                    return false;
            }
            else{
                    if (sc.peek()=='{') {
                        sc.pop();
                    }
            }
            }
        }
        if (sc.empty()) {
            return true;
        }else {
            return false;
        }
    }

    public static void main(String args[])
    {
    ValidatorMethod validatorMethod = new ValidatorMethod();
    String str="(((520+480)*38/10)/2*((520+480)*38/10)/2)";
    boolean bool=validatorMethod.isMatch(str);
    System.out.println(bool);
   
    }
}
发表评论
用户名: 匿名