Hola a todos!*
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!*
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 (JAVA) [Seleccionar]
/*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
{
public static void main( String args[] ){
Scanner leer = new Scanner(System.in);
operapilaschar Obj = new operapilaschar();
String cadena;
char ch;
System.out.println( "Escribe texto:" );
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();
System.out.println(Obj.dret);
}
}
}
// 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))
System.out.println("!Cuidado!, Desbordamiento!!!!!");
else
{
tope++;
pila[tope]=dato;// pone el nuevo dato en la pila
}
}
public static void pop()
{
if (pila_Vacia(tope))
System.out.println("!Cuidado!, Subdesbordamiento!!!!!");
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;
System.out.println(" El estado de la pila es : ");
System.out.println(" --------------------------");
for(i=0;i<=tope;i++)
{
System.out.println("pila["+i+"] : "+pila[i]);
}
}
}