elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


  Mostrar Temas
Páginas: [1]
1  Programación / Java / Ayuda con programa de java... en: 7 Noviembre 2008, 21:35 pm
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!*

Código
  1.  
  2. /*Programa en Java que hace uso de pilas.
  3.  *En este programa se le ingresa una palabra,separa las letras
  4.  *y las imprime de una en una de abaja hacia arriba:
  5.  *Ejemplo: Si se escribe la palabra JAVA.
  6.  *La impresión sera:
  7.  *  A
  8.  *  V
  9.  *  A
  10.  *  J
  11. */
  12.  
  13. import java.io.*;  
  14. import java.util.Scanner;  
  15. public class PilaCadena
  16. {  
  17.       public static void main( String args[] ){  
  18.       Scanner leer = new Scanner(System.in);  
  19.       operapilaschar Obj = new operapilaschar();  
  20.  
  21.       String cadena;  
  22.       char ch;  
  23.  
  24.       System.out.println( "Escribe texto:" );  
  25.       cadena = leer.next();  
  26.  
  27.       for(int i=0;i<cadena.length();i++)
  28.       {  
  29.        ch = cadena.charAt(i);  
  30.        Obj.push(ch);  
  31.        }  
  32.  
  33.        for(int i=0; i<cadena.length(); i++)
  34.        {  
  35.            Obj.pop();  
  36.            System.out.println(Obj.dret);  
  37.            }  
  38.       }  
  39. }  
  40.  
  41.  
  42. // hace uso de los metodos de la sig clase
  43. import java.io.*;  
  44.  
  45. class operapilaschar  
  46.  
  47.  {  
  48.  
  49.    public static char dret;  
  50.  
  51.    public static int max;  
  52.  
  53.    public static char pila[];  
  54.  
  55.    public static int tope = -1;  
  56.  
  57.    public operapilaschar()  
  58.  
  59.      {  
  60.  
  61.    max=20;  
  62.  
  63.    pila=new char [max];  
  64.  
  65.      }  
  66.  
  67.    public operapilaschar(int n)  
  68.  
  69.      {    
  70.  
  71.     max=n-1;  
  72.  
  73.     pila = new char [max];  
  74.  
  75.      }            
  76.  
  77. public static boolean pila_Llena(int tope,int max)  
  78.  
  79.  {  
  80.  
  81.     boolean llena;  
  82.  
  83.     if (tope==max)  
  84.  
  85.          llena=true;  
  86.  
  87.        else  
  88.  
  89.          llena=false;  
  90.  
  91.     return llena;  
  92.  
  93.  }            
  94.  
  95. public static boolean pila_Vacia(int tope)  
  96.  
  97.  {  
  98.  
  99.     boolean vacia;  
  100.  
  101.     if (tope == -1)  
  102.  
  103.        vacia=true;  
  104.  
  105.       else  
  106.  
  107.        vacia=false;  
  108.  
  109.     return vacia;  
  110.  
  111.  }  
  112.  
  113. public static void push(char dato)  
  114.  
  115. {  
  116.  
  117.    if(pila_Llena(tope,max))  
  118.  
  119.      System.out.println("!Cuidado!, Desbordamiento!!!!!");  
  120.  
  121.       else  
  122.  
  123.         {  
  124.  
  125.            tope++;  
  126.  
  127.            pila[tope]=dato;// pone el nuevo dato en la pila  
  128.  
  129.         }  
  130.  
  131. }            
  132.  
  133. public static void pop()  
  134.  
  135. {  
  136.  
  137.    if (pila_Vacia(tope))  
  138.  
  139.       System.out.println("!Cuidado!, Subdesbordamiento!!!!!");  
  140.  
  141.    else {  
  142.  
  143.          dret=pila[tope];  
  144.  
  145.          tope--;  
  146.  
  147.          }// actualiza tope y se elimina elemento en el tope  
  148.  
  149. }  
  150.  
  151. public static boolean compara(int dret,int ch)  
  152.  
  153. {  
  154.  
  155.    if (dret=='(' && ch==')' || dret=='{' && ch=='}' || dret=='[' && ch==']')  
  156.  
  157.      return true;  
  158.  
  159.      else    
  160.  
  161.      return false;  
  162.  
  163. }  
  164.  
  165. public static void estado()  
  166.  
  167.  {  
  168.  
  169.    int i;  
  170.  
  171.    System.out.println(" El estado de la pila es : ");  
  172.  
  173.    System.out.println(" --------------------------");  
  174.  
  175.    for(i=0;i<=tope;i++)  
  176.  
  177.     {  
  178.  
  179.        System.out.println("pila["+i+"] : "+pila[i]);  
  180.  
  181.     }  
  182.  
  183.  }  
  184. }
  185.  
  186.  
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines