Código
/*Programa en Java que hace uso de pilas. *En este programa se le ingresa una palabra,separa las letras *y las imprime de una en una de abaja hacia arriba: *Ejemplo: Si se escribe la palabra JAVA. *La impresión sera: * A * V * A * J */ import java.io.*; import java.util.Scanner; public class PilaCadena1 { { operapilaschar Obj = new operapilaschar(); String cadena; char ch; cadena = leer.next(); for(int i=0; i< cadena.length(); i++) // expected ')' y expected ';' <--- linea 27 { ch = cadena.charAt(i); Obj.push(ch); } for(int i=0; i<cadena.length(); i++) { Obj.pop(); } } } // hace uso de los metodos de la sig clase class operapilaschar { public static char dret; public static int max; public static char pila[]; public static int tope = -1; public operapilaschar() { max=20; pila=new char [max]; } public operapilaschar(int n) { max=n-1; pila = new char [max]; } public static boolean pila_Llena(int tope,int max) { boolean llena; if (tope==max) llena=true; else llena=false; return llena; } public static boolean pila_Vacia(int tope) { boolean vacia; if (tope == -1) vacia=true; else vacia=false; return vacia; } public static void push(char dato) { if(pila_Llena(tope,max)) else { tope++; pila[tope]=dato;// pone el nuevo dato en la pila } } public static void pop() { if (pila_Vacia(tope)) else { dret=pila[tope]; tope--; }// actualiza tope y se elimina elemento en el tope } public static boolean compara(int dret,int ch) { if (dret=="(" && ch==")" + dret=="{" && ch=="}" + dret=="[" && ch=="]") return true; else { return false; } public static void estado( ) // illegal start of expression <--- linea 167 { int i; for(i=0; i< =tope;i++) { } // expected ';' <------- linea 183