Write a Java program to implement stack by creating user defined push method for entering { and
Question:
Write a Java program to implement stack by creating user defined push method for entering { and (, and pop method for retrieving { and ( from the stack. This program is for expression evaluation and syntax parsing. Your program should display appropriate error message if input expression has wrong.
Pseudo Code Example:
int howMany=5;
String[] myStatement= new String[howMany];
char[] myStack= new char[40];
int stackTop;
// Main method
myStatement[0]="( 1 + 3) * { 2 - 1 )";
...
myStatement[4]="( 1 + 3) * ((2 - 1 )";
for (int i=0;i stackTop=-1;
for (int j=0;j char c= myStatement[i].charAt(j);
if (c=='{' || c=='(') {
myPush(c);
}
if (c=='}') {
char popedChar=myPop();
// check correct or not
}
if (c==')') {
char popedChar=myPop();
// check correct or not
}
}
public static void myPush(char c){
// push operation
}
public static char myPop(){
// pop operation
return c;
}
// expected output
( 1 + 3) * { 2 - 1 )
^ error: '}' expected
Introduction to Algorithms
ISBN: 978-0262033848
3rd edition
Authors: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest