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

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Ayuda con programa de java...
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con programa de java...  (Leído 5,684 veces)
Dulcrash

Desconectado Desconectado

Mensajes: 4


Ver Perfil
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.  


En línea

Casidiablo
Desarrollador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.919



Ver Perfil WWW
Re: Ayuda con programa de java...
« Respuesta #1 en: 7 Noviembre 2008, 21:52 pm »

En este momento no tengo un compilador cerca... podrías poner el error que te sale?


En línea

Dulcrash

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Ayuda con programa de java...
« Respuesta #2 en: 7 Noviembre 2008, 22:12 pm »

si claro que si...muchas gracias...

perdon..esk son varios... :-[
comente el error que me señala en las respectivas lineas

linea 26
linea 42
linea 153
linea 158
linea 173

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




En línea

juancho77


Desconectado Desconectado

Mensajes: 455


rie con demencia


Ver Perfil
Re: Ayuda con programa de java...
« Respuesta #3 en: 7 Noviembre 2008, 22:49 pm »

En casi todas las lineas tenes errores de sintaxis. No siento ganas de pasar el codigo a un compilador, pero por lo que pude apreciar:
Código
  1. for(int i=0;i<cadena.length();i++)
Cuando haces el for, esa no es la construccion sintactica correcta para una oracion. Fijate que la condicion de corte no se sabe cual es. Por eso java te tira un Illegal Start of expression o algo asi.

Código
  1. if (dret=='(' && ch==')' || dret=='{' && ch=='}' || dret=='[' && ch==']')

Para concatenar strings usa el simbolo de concatenacion correcto de java que es " + " . Para indicarle a java que "algo" es un String, ese algo debe ir entre comillas dobles. La comilla simple indica caracter, y java no concatenara varios caracteres, a menos que se lo indiques expresamente con ... comillas dobles.  :D

De vuelta, todos los errores(o casi todos) son sintacticos. Revisa bien las estructuras mas basicas del lenguaje.
Saludos!
« Última modificación: 7 Noviembre 2008, 22:54 pm por juancho77 » En línea

juancho77


Desconectado Desconectado

Mensajes: 455


rie con demencia


Ver Perfil
Re: Ayuda con programa de java...
« Respuesta #4 en: 7 Noviembre 2008, 22:54 pm »

Por que la palabra "E-xpression" es convertida por el Foro automaticamente y arbitrariamente a epresionje??   :huh:
En línea

Dulcrash

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Ayuda con programa de java...
« Respuesta #5 en: 8 Noviembre 2008, 03:12 am »

hola juancho77!*

gracias por tu aporte..pero aun no he podido resolver mi problema...hize los cambios que me indicaste y aun así me sigue marcando los mismos errores :huh:
En línea

Dulcrash

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Ayuda con programa de java...
« Respuesta #6 en: 8 Noviembre 2008, 03:58 am »

logre corregir varios errores pero aun me kedan estos..ojala me puedan ayudar..ya solo son 4...


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 PilaCadena1
  16. {  
  17.       public static void main( String args[] )
  18.       {  
  19.       Scanner leer = new Scanner(System.in);  
  20.       operapilaschar Obj = new operapilaschar();  
  21.  
  22.       String cadena;  
  23.       char ch;  
  24.  
  25.       System.out.println( "Escribe texto:" );  
  26.       cadena = leer.next();  
  27.  
  28.       for(int i=0; i&lt; cadena.length(); i++) // expected ')' y expected ';' <--- linea 27
  29.              {  
  30.        ch = cadena.charAt(i);  
  31.        Obj.push(ch);  
  32.        }  
  33.  
  34.        for(int i=0; i&lt;cadena.length(); i++)
  35.        {  
  36.            Obj.pop();  
  37.            System.out.println(Obj.dret);  
  38.            }  
  39.       }  
  40. }  
  41.  
  42. // hace uso de los metodos de la sig clase
  43.  
  44.  
  45.  
  46. class operapilaschar  
  47.  
  48.  {  
  49.  
  50.    public static char dret;  
  51.  
  52.    public static int max;  
  53.  
  54.    public static char pila[];  
  55.  
  56.    public static int tope = -1;  
  57.  
  58.    public operapilaschar()  
  59.  
  60.      {  
  61.  
  62.    max=20;  
  63.  
  64.    pila=new char [max];  
  65.  
  66.      }  
  67.  
  68.    public operapilaschar(int n)  
  69.  
  70.      {    
  71.  
  72.     max=n-1;  
  73.  
  74.     pila = new char [max];  
  75.  
  76.      }            
  77.  
  78. public static boolean pila_Llena(int tope,int max)  
  79.  
  80.  {  
  81.  
  82.     boolean llena;  
  83.  
  84.     if (tope==max)  
  85.  
  86.          llena=true;  
  87.  
  88.        else  
  89.  
  90.          llena=false;  
  91.  
  92.     return llena;  
  93.  
  94.  }            
  95.  
  96. public static boolean pila_Vacia(int tope)  
  97.  
  98.  {  
  99.  
  100.     boolean vacia;  
  101.  
  102.     if (tope == -1)  
  103.  
  104.        vacia=true;  
  105.  
  106.       else  
  107.  
  108.        vacia=false;  
  109.  
  110.     return vacia;  
  111.  
  112.  }  
  113.  
  114. public static void push(char dato)  
  115.  
  116. {  
  117.  
  118.    if(pila_Llena(tope,max))  
  119.  
  120.      System.out.println("!Cuidado!, Desbordamiento!!!!!");  
  121.  
  122.       else  
  123.  
  124.         {  
  125.  
  126.            tope++;  
  127.  
  128.            pila[tope]=dato;// pone el nuevo dato en la pila  
  129.  
  130.         }  
  131.  
  132. }            
  133.  
  134. public static void pop()  
  135.  
  136. {  
  137.  
  138.    if (pila_Vacia(tope))  
  139.  
  140.       System.out.println("!Cuidado!, Subdesbordamiento!!!!!");  
  141.  
  142.    else {  
  143.  
  144.          dret=pila[tope];  
  145.  
  146.          tope--;  
  147.  
  148.          }// actualiza tope y se elimina elemento en el tope  
  149.  
  150. }  
  151.  
  152.  
  153. public static boolean compara(int dret,int ch)  
  154.  
  155. {  
  156.  if (dret=="(" && ch==")" + dret=="{" && ch=="}" + dret=="[" && ch=="]")  
  157.  
  158.      return true;  
  159.  
  160.      else  
  161.      {
  162.  
  163.      return false;  
  164.  
  165. }  
  166.  
  167.  
  168. public static void estado( )   // illegal start of expression <--- linea 167
  169.  
  170.  {  
  171.  
  172.      int i;
  173.  
  174.    System.out.println(" El estado de la pila es : ");  
  175.  
  176.    System.out.println(" --------------------------");  
  177.  
  178.  for(i=0; i&lt; =tope;i++)  
  179.  
  180.     {  
  181.  
  182.        System.out.println("pila ["+ i +"] : " + pila[i])
  183.  
  184.     }    //  expected ';' <------- linea 183
  185.  
  186.  
  187.  
En línea

juancho77


Desconectado Desconectado

Mensajes: 455


rie con demencia


Ver Perfil
Re: Ayuda con programa de java...
« Respuesta #7 en: 8 Noviembre 2008, 09:35 am »

A ver si le pones algo de ganas amigo.
Código
  1. {  
  2.  
  3.        System.out.println("pila ["+ i +"] : " + pila[i])
  4.  
  5.     }

Te falta cerrar con punto y coma (;) !

Código
  1. public static void estado( )   // illegal start of epresionje <--- linea 167

Fijate que has cerrado mal el metodo anterior. Faltan corchetes.

Animo!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda Programa Java
Java
supersergio88 2 3,229 Último mensaje 1 Junio 2011, 00:45 am
por Littlehorse
AYUDA CON ESTE PROGRAMA JAVA¡¡¡¡¡
Ejercicios
DomInYK 3 5,684 Último mensaje 4 Agosto 2011, 01:57 am
por bengy
[Ayuda] Hacer un programa java que marque solo
Java
777Rubenix777 1 3,398 Último mensaje 4 Julio 2011, 01:44 am
por [Case]
AYUDA CON PROGRAMA EN JAVA
Java
RADIACTIVO 4 3,066 Último mensaje 19 Octubre 2012, 17:01 pm
por RADIACTIVO
Ayuda programa en java
Ejercicios
SOADOSK 0 2,476 Último mensaje 9 Enero 2013, 01:00 am
por SOADOSK
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines