boolean matchBracket( String str )
{
Stack stack = new Stack();
try
{
for ( int i = 0; i < str.length(); i++ )
{
char curChar = str.charAt( i );
switch ( curChar )
{
case '[':
case '{':
case '(':
stack.push( curChar );
break;
case ']':
if ( !stack.pop().equals( '[' ) )
{
return false;
}
break;
case '}':
if ( !stack.pop().equals( '{' ) )
{
return false;
}
break;
case ')':
if ( !stack.pop().equals( '(' ) )
{
return false;
}
break;
}
}
} catch ( EmptyStackException e )
{
return false;
}
if ( stack.isEmpty() )
return true;
else
return false;
}