Foro de elhacker.net

Programación => Java => Mensaje iniciado por: albertofc en 25 Enero 2014, 06:21 am



Título: ayudenme tengo examen de esto y no entiendo porq no quiere compilar
Publicado por: albertofc en 25 Enero 2014, 06:21 am

/**
 * Write a description of class ParoImpar here.
 *
 * @author (Fuentes Cabrera Alberto)
 * @version (me dice si el numero es par o impar)
 */
public class ParoImpar
{
   public boolean esPar(int n)
   {
       boolean res= false;
       if(n==0)
       {
           res= true;
        }
        else
        {
            res=esImpar(n-1);
        }
       public boolean esImpar(int n)
        {
            boolean res = false;
            if(n==0)
            {
                return false;
            }
            else
            {
                res=esPar(n-1);
            }
        }
    }
}


Título: Re: ayudenme tengo examen de esto y no entiendo porq no quiere compilar
Publicado por: engel lex en 25 Enero 2014, 06:57 am
no hagas doble tema
http://foro.elhacker.net/java/me_ayudan_en_este_program_lo_mas_antes_posible_tengo_exmane_y_tengo_dudas_de_est-t370095.0.html;msg1914987#msg1914987 (http://foro.elhacker.net/java/me_ayudan_en_este_program_lo_mas_antes_posible_tengo_exmane_y_tengo_dudas_de_est-t370095.0.html;msg1914987#msg1914987)
http://foro.elhacker.net/java/ayudenme_no_quiere_compilar_porq_soy_nuevo_en_programcion_en_java-t407465.0.html;msg1914989#msg1914989 (http://foro.elhacker.net/java/ayudenme_no_quiere_compilar_porq_soy_nuevo_en_programcion_en_java-t407465.0.html;msg1914989#msg1914989)

usa las etiquetas GeSHi cuando coloques codigos... (estan a la derecha arriba de los emoticonos cuando editas texto)

tu codigo es...


Código
  1. public class ParoImpar
  2. {
  3.   public boolean esPar(int n)
  4.   {
  5.       boolean res= false;
  6.       if(n==0)
  7.       {
  8.           res= true;
  9.        }
  10.        else
  11.        {
  12.            res=esImpar(n-1);
  13.        }
  14.       public boolean esImpar(int n)
  15.        {
  16.            boolean res = false;
  17.            if(n==0)
  18.            {
  19.                return false;
  20.            }
  21.            else
  22.            {
  23.                res=esPar(n-1);
  24.            }
  25.        }
  26.    }
  27. }

que errores devuelve?

Código:
ParoImpar.java:15: error: illegal start of expression
       public boolean esImpar(int n)
       ^
ParoImpar.java:15: error: ';' expected
       public boolean esImpar(int n)
                             ^
ParoImpar.java:15: error: ';' expected
       public boolean esImpar(int n)
                                   ^
3 errors

no te la voy a resolver... en computacion es tan importante (si no más) saber leer los errores a que programar!

ahora vamos paso a paso... donde están los errores? que sobra o falta?

recuerda... toda estructura de control de flujo (funciones, if, else, for) debe abrir y cerrar con corchetes... te falta algo?


Título: Re: ayudenme tengo examen de esto y no entiendo porq no quiere compilar
Publicado por: DarkSorcerer en 25 Enero 2014, 09:53 am
Quería dar una recomendación, ¿ no sería mejor que tu código sea más corto ?

A mi se me ocurre un método estático, me salio algo super corto y solo con un método, con el booleano ya se sabe cuando es par o impar, no es necesario escribir los 2 métodos. Solo te diré eso, ahora tu tarea es saber como usarlo. Saludos.

Código
  1. package ejercicio;
  2.  
  3. /**
  4.  * @author Rodrigo
  5.  */
  6. public class Numero {
  7.  
  8.    public static boolean esPar(int numero){
  9.  
  10.        return (numero % 2 == 0);
  11.  
  12.    }
  13.  
  14. }
  15.  

PD: Lee el libro "Como programar en Java" de Deitel, explica muy bien y aún sigo aprendiendo de ese libro algunas cosas que se me hayan escapado.


Título: Re: ayudenme tengo examen de esto y no entiendo porq no quiere compilar
Publicado por: engel lex en 25 Enero 2014, 19:41 pm
Quería dar una recomendación, ¿ no sería mejor que tu código sea más corto ?

mire el error del código, albertofc apenas debe estar empezando como para pensar en códigos más eficientes :P


Título: Re: ayudenme tengo examen de esto y no entiendo porq no quiere compilar
Publicado por: Jety en 25 Enero 2014, 21:34 pm
Código:


ParoImpar.java:15: error: ';' expected
       public boolean esImpar(int n)
                             ^
ParoImpar.java:15: error: ';' expected
       public boolean esImpar(int n)
                                   ^
3 errors



El famoso error del punto y coma, no se porque se les olvida;


Título: Re: ayudenme tengo examen de esto y no entiendo porq no quiere compilar
Publicado por: engel lex en 25 Enero 2014, 21:48 pm
No, no es punto y coma... ese error son problemas de sintaxis mal armada el indica ";" porque es lo mas común


Título: Re: ayudenme tengo examen de esto y no entiendo porq no quiere compilar
Publicado por: 1mpuls0 en 27 Enero 2014, 18:10 pm
El famoso error del punto y coma, no se porque se les olvida;

xD??

Deja el error de sintaxis, tiene un error de lógica tremendo.
En realidad solo es un método recursivo sin sentido ._.