判断字符串括号是否闭合 java

package interview;

/*
 * 判断字符串括号是否闭合
 */
public class StringClose {

	public static void main(String[] args) {
		String s = "sd{78]sdf[}sddf";
		String s1="{1sdf}[sdf][[(sdf)]]";
		System.out.println(whetherStringClose(s1));
	}
	
	public static boolean whetherStringClose(String str) {
		int parenthesesNums=0;//小括号数量
		int bracketsNums = 0;//中括号数量
		int bracesNums = 0;//大括号数量
		for(int i=0;i<str.length();i++) {
			char c = str.charAt(i);
			if(c=='{') {
				bracesNums+=1;
			}
			if(c=='[') {
				bracketsNums+=1;
			}
			if(c=='(') {
				parenthesesNums+=1;
			}
			if(c=='}') {
				bracesNums-=1;
			}
			if(c==']') {
				bracketsNums-=1;
			}
			if(c==')') {
				parenthesesNums-=1;
			}
			if(parenthesesNums<0 || bracesNums<0||bracketsNums<0) {
				break;
			}
		}
		if(parenthesesNums!=0 || bracesNums!=0|| bracketsNums!=0) {
			return false;
		}else {
			return true;
		}
		
	}
}

猜你喜欢

转载自www.cnblogs.com/QAZLIU/p/9369881.html