括号匹配问题

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

这个问题主要是用到栈的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();}
				}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值