자바 괄호 일치 검사 실현

괄호 가 일치 하 는 지 확인 하 는 방법 은 '기대 하 는 급박 정도' 라 는 개념 으로 설명 할 수 있다.
/**
 *       
 * [ ( [ ] [ ] ) ]
 * 1 2 3 4 5 6 7 8
 */
public class BracketMatchTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Stack s = new Stack();
		//            
		Scanner input = new Scanner(System.in);
		String bracket = input.next();
		s.push(bracket);
		//               
		if(s.size()!=0){
			if(!s.peek().equals("(") && !s.peek().equals("[")){
				System.out.println("    ,         ");
				return;
			}
		}
		
		while(s.size()!=0){
			//         ,  "       "
			String bracket1 = input.next();
			//         ,       
			if(!bracket1.equals("(") && !bracket1.equals("[") && !bracket1.equals(")") && !bracket1.equals("]")){
				System.out.println("    ,       ");
				return;
			}
			//      
			String top = (String)s.peek();
			//           
			if((top.equals("[") && bracket1.equals("]"))){
				s.pop();
				System.out.println("  []  ");
				continue;
			}
			if((top.equals("(") && bracket1.equals(")"))){
				s.pop();
				System.out.println("  ()  ");
				continue;
			}
			//          
			s.push(bracket1);
		}
		input.close();
	}

}

좋은 웹페이지 즐겨찾기