zoukankan      html  css  js  c++  java
  • java 语法分析器 括号匹配

    package test;

    import java.util.*;
    public class Test {
     

       public String text="fewe{f(sdd(f)a[j]sdk)j}f";
        int i=0;
        public LinkedList stack=new LinkedList();
        public Test() {
        }
        public String analyiz(int ip){
           char temp=text.charAt(ip);
           char a;
           if(temp=='('||temp=='['||temp=='{'){
               stack.add(temp);
           }else if(temp==')'){
               a=(Character)stack.getLast();
               if(a=='('){
                  stack.removeLast();
               }
           }else if(temp==']'){
               a=(Character)stack.getLast();
               if(a=='['){
                  stack.removeLast();
               }
           }else if(temp=='}'){
               a=(Character)stack.getLast();
               if(a=='{'){
                  stack.removeLast();
               }          
           }
           if(stack.size()==0&&ip==text.length()-1){
               String c="匹配";
               return c;
           }else if(stack.size()!=0&&ip==text.length()-1){
               String b="不匹配";
               return b;
           }else{
               return analyiz(ip+1);//递归
           }
        }
        public static void main(String[] args){
            Test test=new Test();
            String a=test.analyiz(0);
            System.out.println(a);
        }
    }
  • 相关阅读:
    七 HBase表结构设计
    六 一行数据存储到文件的过程。
    五、数据模型特殊属性
    四 数据模型操作
    三、 数据模型概念
    二、 HBase核心功能模块。
    一、 Hbase特性 3v特性,Volume(量级) Varity(种类) Velocity(速度)
    windows下安装redis
    redis缓存穿透和缓存雪崩
    java多线程四种实现方法
  • 原文地址:https://www.cnblogs.com/langjiaxing/p/8555148.html
Copyright © 2011-2022 走看看