> 文档中心 > 括号匹配问题

括号匹配问题


括号的匹配问题,主要用到栈的基础知识

这个问题主要是用到栈的push()方法和pop()方法。
代码如下:

package day04;import java.util.Scanner;import java.util.Stack;//括号匹配问public class Prog20 {public static void main(String[] args) {  Scanner sc=new Scanner(System.in);      System.out.println("请输入字符串");      String string=sc.next();Prog20 pgProg20=new Prog20();if(pgProg20.isVaild(string))System.out.println("你输入的字符串括号匹配");else {System.out.println("你输入的字符串括号不匹配");}}//主要是考察到栈的基本知识public boolean isVaild(String s) {Stack<Character> stack=new Stack<Character>();for(char c:s.toCharArray()) { //这里用到了迭代if(c=='(') {    stack.push(')');}else if(c=='[') {stack.push(']');}else if(c=='{') {stack.push('}');}else if(stack.isEmpty()||c!=stack.pop())return false;}return stack.isEmpty();}}

在这个代码中主要用到入栈,出栈,还用到了迭代,虽然我也不是很明白,但是用就对了。

冰雪之城