Calcular signo del zodiaco con Java

05/Sep/2010 Java , , , 9 Comentarios
Programación en Java

En este ejemplo vamos a ver como, mediante el lenguaje Java, podemos saber el signo del zodiaco de una persona, dada su fecha de nacimiento (día y mes).

Lo primero será pedirle al usuario su día y mes de nacimiento. Esto lo hacemos accediendo a la consola con la clase Scanner:

Scanner reader = new Scanner(System.in);

System.out.println("Qué día naciste");
dia = reader.nextInt();
	
System.out.println("Qué mes naciste");
mes = reader.nextInt();

Una vez que tenemos el día y el mes veamos la lógica a aplicar. En un mes solo puede haber dos signos del zodiaco. Por ejemplo, en Enero, si naciste antes del 21 eres Capricornio y si naciste el 21 o algún día posterior del mes de Enero, eres Acuario.

Otro ejemplo, el mes de noviembre. Si naciste antes del 23 eres Escorpio y si naciste el mismo 23 o día superior eres Sagitario.

Con esta dedución vemos que las estructuras a aplicar son sencillas. En primer lugar utilizremos la sentencia switch pasa posicionarnos en el mes:

switch(mes) {		
  case 1: 
    // Enero
    break;
  case 2:
    // Febrero
    break;
  ...
}

Y luego, dentro de cada mes la sentencia de decisión que aplicaremos mediante una sentencia if:

switch(mes) {		
  case 1: 
    // Enero
    if (dia>=21)
      System.out.println("Acuario");
    else
      System.out.println("Capricornio");				
    break;
  case 2:
    // Febrero
    if (dia>=20)
      System.out.println("Piscis");
    else
      System.out.println("Acuario");
    break;
  ...
}

Como vemos la implementación es muy sencilla y nos ayuda a enteder fácilmente las sentencias de decisión if y switch.

Vídeos sobre Java


9 comentarios en “Calcular signo del zodiaco con Java”

Víctor Cuervo

ianira zapien

en el caso del mes de febrero que solo tiene 28 o 29 dias en año bicisiesto

Víctor Cuervo

Víctor Cuervo

No pasaría nada, ya que se utiliza un símbolo de mayor. Así que lo contemplaría.

Saludos.

Víctor Cuervo

anonimo

en calendario gregoriano del año 1982 el dia 3 caia en miercoles y el mes de marzo tambien los nacidos bajo este dia,mes y año nacieorn entonces pajo el signo zodiacla piscis peor unos nacieorn con 9 mese sjustos de genstacion y otros d emenos de 9 entonce smi pregunta es¿porque minesota quiere que los que nacioern bajo el signo piscis se pasen a ser el de acuario,el de capricornio..es que bamos a ir seugn minesota subiendo y subiendo signos hasta llegar a aries cuando aries comprendio en el año 1982 9 meses de gestacion?que pretende minesota que yo me pase a se acuario aun habeindo nacido de 8 meses de gestacion?se cree minesota que es mas que coger y poner 8 meses en aries «ala» asi de sencillo pero el problema es que yo no e cumplido 9 meses enteros gestantes eso es lo que me raya de minesota que no tienen en cuenta los años bisiestos y gregorianos.

Víctor Cuervo

Mona

Mil y una gracias!! Me ayudaste muchisimo con mis deberes de Java!

Víctor Cuervo

Jose

saludos…
podría realizar este mismo ejemplo con la clase JOptionPane?

Víctor Cuervo

Víctor Cuervo

@jmx,

Bueno, la idea era poder proporcionar la solución al ejemplo. Por si alguien no la encontraba :-D :-D :-D :-D

Víctor Cuervo

jmx

seria mejor si solo colgara el metodo para determinar el signo zodiacal y punto.. creo q lo demas ya podemos deducirlo nosotros los studiantes ;) iwal sta muy bno (y)

Víctor Cuervo

lineadecodigo

@Optimus ZX,

Me alegro que te haya servido de ayuda. :-D

Víctor Cuervo

Optimus ZX

Es sencillo de realizar de esta manera, gracias y un saludo.

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.