ok, basically pasabta ko anang mga boolean2x nimo bro @SuperStar b, kanang mga
if (isBrace(stack.peek().toString().charAt(0))) nimo. nakahimo nako sakong codes w/c runs perfectly, salamat sa imong concept bro Klave.
here is my code
Code:
import java.util.*;
import javax.swing.*;
public class brackets2 {
private static Stack myStack;
private String input;
//q1qw22222222 private static PriorityQueue q;
public brackets2(){
while(true){
askInput();
}
}
public void askInput(){
input = JOptionPane.showInputDialog(null,"Input String: ");
myStack = new Stack();
Process();
}
public void Process(){
try{
for(int x=0; x<input.length();x++){
char i = input.charAt(x);
switch(i){
case '{':
case '[':
case '(':
myStack.push(i);
break;
case '}':
if(myStack.peek()=='{')
myStack.pop();
break;
case ']':
if(myStack.peek()=='[')
myStack.pop();
break;
case ')':
if(myStack.peek()=='(')
myStack.pop();
break;
}
}
}catch(Exception e){
JOptionPane.showMessageDialog(null,"error");
Continue();
}
toString();
Continue();
}
public String toString(){
StringBuffer sb = new StringBuffer();
if(myStack.isEmpty())
sb.append("balanced");
else
sb.append("error");
JOptionPane.showMessageDialog(null,sb);
return sb.toString();
}
public void Continue(){
input = JOptionPane.showInputDialog(null,"Do you want to continue? y/n");
if(input.equalsIgnoreCase("n"))
System.exit(0);
else if(!input.equalsIgnoreCase("y")){
JOptionPane.showMessageDialog(null,"Invalid Input.");
Continue();
}
askInput();
}
public static void main(String args[]){
brackets2 b2 = new brackets2();
}
}