conocer edad exacta
hola amigos del foro tengo un problemilla...
tengo que hacer una programa en netbeans que como datos de entrada yo pido el dia mes y año de naciemiento y yo le tengo que decir al usuario cual es su edad exacta... en años con meses y dias... me podrian ayudar porfavor...
aqui les dejo mi codigo a ver si le pegan una revisada y me ayudan cn los ajustes necesarios gracias.
package conoceredad;
import javax.swing.JOptionPane;
* se le pide al usurio la edad y el programa desplegará el año de nac.
* año= año de nacimiento.
* edad=la edad que se le solicita como dato de entrada al usuario.
* ingresar la edad y el programa le dira cual es su año de nacimiento.
*/
public class Main {
public static void main(String[] args){{
int dia=0;
int mes=0;
int año=0;
int edad=0;
int dias=0;
int meses=0;
int años=0;
dia=Integer.parseInt(JOptionPane.showInputDialog("porfavor digite dia de nac"));
meses=Integer.parseInt(JOptionPane.showInputDialog("porfavor digite mes de nac"));
año=Integer.parseInt(JOptionPane.showInputDialog("porfavor digite año de nac"));
dias=31-dia;
meses=12-meses;
años=2010-año;
JOptionPane.showMessageDialog(null,"su edad es "+años+"años con "+meses+"meses y "+dias+"dias");
System.exit(0);
}
- Inicie sesión o regístrese para enviar comentarios
GregorianCalendar y Date
Revisa esas dos clases de java.util y con eso puedes calcular la edad. Ah y con SimpleDateFormat para convertir lo que el usuario tecla en una fecha (por cierto, de verdad puedes tener una variable llamada
?):
Y de ahi te pones a hacer puras operaciones de aritmética para ver cuántos años llevas de vida. O puedes usar el GregorianCalendar para estar viendo las diferencias entre la fecha de hoy y la de nacimiento.
@ezamudio, si si se puede
@ezamudio, si si se puede pero tienes que compilar ( en algunas plataformas ) usando la opcion -encoding UTF-8
@iquirce Para mi se ve bien, salvo claro, que aún no da los datos correctos.
Piensa en lo siguiente.
Una persona tiene 1 año cumplido, solamente si el mes y el día de nacimiento YA pasaron no?
Ejemplo hoy es 19 julio 2010, y esta persona ( bebe ) nacio el 18 de julio del 2009, entonces tiene 1 año con 1 día.
Si su fecha de nacimiento es 20 de julio del 2009, entonces aún no tiene un año. Tiene solamente 11 meses y 29 dias ( suponiendo que el mes fuere ade 30 ) no?
Tu procedimiento entonces es correcto pero solo para quién nació el 1ro de enero. Para el resto, hay que restarle los meses y días correspondientes.
Entonces, lo que tienes que hacer es tomar un papel y lápiz ( digo, solamente por que es más fácil, escribirlo y borrarlo cuanto sea necesario ) y poner varios ejemplos.
Usa tu fecha de nacimiento, la de tu hermano, inventa varias, etc. algunas antes de la fecha actual otros después y escribe también que es lo que te debería salir.
Modifica tu ejemplo y pon las condiciones necesarias ( ejemplo, si el mes/dia no han pasado, restarle 1 año al resultado etc. ) Y prueba con tus datos de prueba.
Espero que esto te sirva.
Por cierto , recuerda escribir tu código en el foro con los tags: <code> tu código Java aquí </code> para que se vea mejor.
Y un comentario adicional, en Java puedes declarar la variable e inicializarla inmediatamente, entonces tu código
También lo puedes escribir como:
Y donde quedo mes?
El aprovechar lineas de codigo es muy practico y comodo como lo comenta Oscar..
Realiza tu problema en forma comun antes que nada..
y checa tu codigo usa un poco de mas metodos para el calculo ezamudio los describe arriba son muy practicos y utilces..
Costa de pensarle un poco.
Saludos.
edad
me podrian ayudar a calcular la edad de una persona desde el comienzo