Translate

¿Cómo calcular edad a partir de fecha en java?




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!

2 comentarios:

  1. Como puedo ingresar los datos en una sola linea ejemplo /28/01/2001.

    excelente código gracias.

    ResponderEliminar
  2. 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

    ResponderEliminar

Buscar en este blog

Popular Posts

Follow by Email