public boolean bracketMatch(String str){
Stack<Integer> s = new Stack<Integer>();
for(int i = 0; i < str.length(); i++){
char c = str.charAt(i);
switch(c){
case '{':
case '[':
case '(': s.push(Integer.valueOf(c));break;
case '}':
if(!s.isEmpty()&&((Integer)s.pop()).intValue()=='{'){
break;
}else{
return false;
}
case ']':
if(!s.isEmpty()&&((Integer)s.pop()).intValue()=='['){
break;
}else{
return false;
}
case ')':
if(!s.isEmpty()&&((Integer)s.pop()).intValue()=='('){
break;
}else{
return false;
}
}
}
if(s.isEmpty()){
return true;
}else{
return false;
}
}