
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.
ianira zapien
en el caso del mes de febrero que solo tiene 28 o 29 dias en año bicisiesto
Víctor Cuervo
No pasaría nada, ya que se utiliza un símbolo de mayor. Así que lo contemplaría.
Saludos.
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.
Mona
Mil y una gracias!! Me ayudaste muchisimo con mis deberes de Java!
Jose
saludos…
podría realizar este mismo ejemplo con la clase JOptionPane?
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
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)
lineadecodigo
@Optimus ZX,
Me alegro que te haya servido de ayuda. :-D
Optimus ZX
Es sencillo de realizar de esta manera, gracias y un saludo.