Dudas de Programacion » Java » Java Básico

Crear método determinarSignoZodiacal

(3 posts)
  1. Necesito crear el metodo con los parámetros dia y mes en que nació una persona; como resultado debe imprime signoZodiacal que corresponde a una persona.
    Y demás de como valido la información ingresada.
    Por favor la solución la necesito a lo más tardar mañana cerca de la media noche.

    Posted 2 years ago #


  2. Buenas!

    Se me ocurre que puedes crear una clase SignoZodiaco:

    1. public class SignoZodiaco{
    2.  
    3. String nombre;
    4. Date fechaInicio;
    5. Date fechaFin;
    6.  
    7. public SignoZodiaco(String nombre,Date fechaInicio,Date fechaFin) {
    8. this.nombre = nombre;
    9. this.fechaInicio = fechaInicio;
    10. this.fechaFin = fechaFin;
    11. }
    12. }

    Una vez hecho esto cargamos una lista con los 12 signos:

    1. List listaZodiaco = new ArrayList();
    2. listaZodiaco.add(new SignoZodiaco("Aries",format.parse("20/03/2009"),format.parse("18/04/2009"));
    3. ...

    Despues se crearia el metodo para obtener el signo del zodiaco a partir de un mes y un dia determinados (porque no se pasa el año??)

    1. obtenerSigno(String dia, String mes)
    2. {
    3. Date fechaNacimiento = format.parse(dia+"/"+mes+"/2009");

    /*recorremos la lista con los 12 signos
    y vamos comprobando si la fecha de nacimiento es posterior a la de inicio de un signo y anterior a la de fin (metodos after() y before() de la clase Date) si se cumplen esas dos condiciones devolvemos el nombre del Signo correspondiente*/

    }

    Espero que aunque no esté todo el código implementado te sirve de ayuda...si tengo tiempo luego haré el programa entero.

    Un saludo.

    Saludos
    Posted 2 years ago #
  3. Buenas otra vez!

    Te pego la clase de prueba que hice por si te ayuda un poco mas:

    1. public class TestZodiaco {
    2.  
    3. /**
    4. * @param args
    5. * @throws ParseException
    6. */
    7. public static void main(String[] args) throws ParseException {
    8.  
    9. String nombreSigno = comprobarSigno("08", "04");
    10. System.out.println(nombreSigno);
    11.  
    12. }
    13.  
    14. private static String comprobarSigno(String dia, String mes) throws ParseException {
    15. ArrayList listaZodiaco = new ArrayList();
    16. DateFormat format = new SimpleDateFormat("dd/MM");
    17.  
    18. listaZodiaco.add(new SignoZodiaco("Aries",format.parse("20/03"),format.parse("18/04")));
    19.  
    20. Date fechaNacimiento = format.parse(dia+"/"+mes);
    21. String nombre="";
    22.  
    23. for (int i = 0; i < listaZodiaco.size(); i++) {
    24. SignoZodiaco signo = (SignoZodiaco) listaZodiaco.get(i);
    25. if(fechaNacimiento.after(signo.getFechaInicio()) &&
    26. fechaNacimiento.before(signo.getFechaFin()) )
    27. {
    28. nombre = signo.getNombre();
    29. }
    30. }
    31.  
    32. return nombre;
    33. }
    34.  
    35. }
    Posted 2 years ago #

Reply

You must log in to post.

935 posts in 394 topics over 36 months by 349 of 787 members. Latest: Balkirium, redundantlogic2, shianim

Acerca de...

Dudas de Programación es una Web, dentro del proyecto aulambra.com que nace con la idea de propocionar un foro de consultas sobre diferentes temas de programación. Orientado a ayudar a los internautas hispano-hablantes en Internet.

Ir al Blog de Linea de Código

Otras Webs