Hola! en este tutorial enseño cómo calcular edad a partir de una fecha que nos facilitará el cliente para ello usamos el siguiente código en java:
try {
System.out.println(«»);//declaramos las diferentes variables que usaremos
Scanner sca = new Scanner(System.in);
Calendar cal = new GregorianCalendar();
int mesActual = cal.get(Calendar.MONTH), anyoActual = cal.get(Calendar.YEAR),
diaActual = cal.get(Calendar.DAY_OF_MONTH);
int mes, dia, anyo;
int mesResultado, diaResultado, anyResultado;
System.out.println(«Calcular cuantos años tienes»);//preguntamos dia mes y año de nacimiento
System.out.println(«Dime el día»);
dia = sca.nextInt();
System.out.println(«Dime el mes»);
mes = sca.nextInt();
System.out.println(«Dime el año»);
anyo = sca.nextInt();
//creamos las excepciones en caso que la fecha de error
if (dia < 0 | dia > 31) {
throw new Exception(«el día está mal puesto»);
}
if (mes < 0 | mes > 12) {
throw new Exception(«el mes está mal puesto»);
}
if (anyo < 0) {
throw new Exception(«el año está mal puesto»);
}
mesResultado = Math.abs(mes – mesActual);
diaResultado = diaActual;
anyResultado = Math.abs(anyo – anyoActual);
System.out.println(«Tienes » + anyResultado + » años» + «, » + mesResultado
+ » meses » + » y » + diaResultado + » días»);
} catch (Exception ex) {
System.out.println(«Ha habido un error » + ex.toString());
}
A aquí en mi vídeo enseño paso a paso cómo he llegado yo a este código.
Esto ha sido todo por el tutorial de hoy, espero que hayáis aprendido algo y hasta la próxima!
Gracias por visitar mi blog de informática, mi nombre es Tomás y soy formador y desarrollador web. Si quiere usted dejarme alguna sugerencia, ayuda o quiere un servicio de formación estoy escuchando ofertas en tomas.gonzalez@infogonzalez.com, en Facebook a https://www.facebook.com/Infogonzalez estoy deseando escucharle. Su duda o sugerencia NO molesta.
Como puedo ingresar los datos en una sola linea ejemplo /28/01/2001.
excelente código gracias.
Hola, a estas fechas seguramente ya habrás dado con la solución, he estado de vacaciones, para hacer eso puedes usar:
fecha=sca.next;
Int fechas=fecha.split("/");
int dia=fechas[0];
int mes=fechas[1];
int anyo=fechas[2];
Un saludo