ps soy nueva aqui en el foro y les agradecere mucho si pudieran ayudarme..
mi problema es el siguiente:
mi profesor me encargo un programa en el cual por medio de pilas se introdujera una cadena cualquiera y k como resultado me imprimiera la misma pero a la inversa
Ejemplo: Si se escribe la palabra JAVA.
La impresión sera:
A
V
A
J
Ya investigue y trate de resolverlo..pero al compilar el codigo me marca error y pues necesito de su ayuda para encontrar en que estoy mal..llevo como 3 dias tratando de resolverlo y no he podido...
de antemano gracias!*
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 PilaCadena { operapilaschar Obj = new operapilaschar(); String cadena; char ch; cadena = leer.next(); for(int i=0;i<cadena.length();i++) { 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 import java.io.*; 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() { int i; for(i=0;i<=tope;i++) { } } }