gamit ani kai stacks
Input String: {[()]}
Output: balanced
Input String: [][](){}
Output: balanced
Input String: {[][]}
Output: balanced
Input String: {[}]
Output: error // kai di man balance, ang input kai {[}] man, ang
[ kai nasud man sa
{} nya iyang pares na
] kai
naa man sa gawas, dapat {
[]} or, {}
[] ,or {
[]}
[] para balance
Input String: [(])
Output: error //kai same japon, di man balance, ang
( kai nasud man sa
[] nya ang pares kai na
), kai naa man sa gawas. dapat [
()], or []
(), or [
()]
() para balance
here's my code. tabang ninyu pls. tnx
Code:
import java.util.*;
public class Assignment {
private static Scanner in = new Scanner(System.in);
private String input;
private char [] array;
private int index1, index2;
private static Stack myStack = new Stack();
private boolean tf=false;
private int condition=0,condition1, condition2;
public Assignment(){
askInput();
Process();
Output();
}
private void askInput(){
try{
System.out.println("Input String: ");
setInput(in.nextLine());
setArray(new char [getInput().length()]);
}catch(Exception e){
System.out.println("You got an error. Try again. "+e.getMessage());
askInput();
}
}
private void Process(){
for(int y = 0;y<getInput().length(); y++){
char i = getInput().charAt(y);
array[y] = i;
}
for(int x =0; x<input.length();x++){
if(array[x]=='{'){
condition++;
myStack.push(array[x]);
tf=true;
}
if(array[x]=='}'){
condition--;
tf=true;
if(myStack.empty()){}
else{
myStack.pop();
}
}
if(array[x]=='['){
tf=true;
condition1++;
myStack.push(array[x]);
}
if(array[x]==']'){
tf=true;
condition1--;
if(myStack.empty()){}
else{
myStack.pop();
}
}
if(array[x]=='('){
tf=true;
condition2++;
myStack.push(array[x]);
}
if(array[x]==')'){
tf=true;
condition2--;
if(myStack.empty()){}
else{
myStack.pop();
}
}
}
}
private void Output(){
System.out.println("Output:");
if(tf==true){
if(condition==0&condition1==0&condition2==0)
System.out.println("balanced");
else
System.out.println("error");
}
else
System.out.println("error");
/*
if(myStack.isEmpty())
System.out.println("balanced");
else
System.out.println("error");
*
*/
}
private void setInput(String input){
this.input = input;
}
private String getInput(){
return input;
}
private void setArray(char [] array){
this.array = array;
}
private char [] getArray(){
return array;
}
public static void main(String args[]){
Assignment a = new Assignment();
}
}