Fecha | Versión | Descripción |
---|---|---|
18/12/2024 | 1.0.0 | Versión inicial |
Escribe un programa que se encargue de realizar lo siguiente:
Crea una clase Alumno con los siguientes atributos:
Nombre String
Apellidos String
DNI String
NIA Long
Edad Int
Fecha de nacimiento LocalDate
Teléfono String
Email String
Miembro estático de clase que permita almacenar el número de alumnos creados. Llámale nalumno.
La clase alumno dispondrá de los siguientes métodos:
Constructor principal. Recibirá los siguientes atributos:
Nombre, Apellidos, DNI, NIA, Edad, día, mes y año de la fecha de nacimiento, teléfono y email. Siendo dia, mes y año valores enteros. Los utilizarás para generar la fecha de nacimiento y además calcular el valor del atributo fecha.
La edad de nuestro alumno la calcularás de tal manera que será la fecha actual menos la fecha de nacimiento. Será la diferencia entre los años de ambos.
Se encargará de comprobar en la creación del objeto que los datos para la entrada del teléfono comienza bien por 6, por 7 o por 8 y que además tiene un tamaño de 9 dígitos. (Esto lo deberás comprobar en la recogida de datos no en la creación del objeto)
El DNI deberás comprobar que tiene 9 dígitos y una letra al final. (Esto lo deberás comprobar en la recogida de datos no en la creación del objeto)
Con el email procederá de igual forma, deberá comprobar que al menos hay al menos un carácter antes de la @, una @ y al menos un carácter después de esta. (Esto lo deberás comprobar en la recogida de datos no en la creación del objeto)
Cuando recibas el NIA deberás proteger la entrada de datos de tal manera que se reciba un valor numérico de tipo long, si no es así capturaras la excepción, mostrarás un error por pantalla de que el valor no es numérico y en el NIA pondrá por ejemplo el valor 9999, lo cual nos denotará que es un dato erróneo.
Getters para cada uno de los tributos.
Los siguientes Setters. Ten en cuenta lo que se indica:
En el DNI su modificación deberá contemplar lo indicado en el constructor.
En el email igual que en el constructor.
En el teléfono igual que en el constructor.
La fecha de nacimiento nunca podrá ser superior a la fecha del sistema. Si modificas está, se deberá actualizar la edad.
No hay setters para el NIA y edad.
Método encargado de mostrar la información del objeto, redefine toString. Se mostrará de cada Alumno lo siguiente: nombre, apellidos, edad y email.
Deberás utilizar y controlar con excepciones la entrada de datos y las operaciones con los objetos para evitar que el programa finalice de manera abrupta.
Almacena en un ArrayList, LinkedList o HashMap 4 alumnos. Recorre estos con un iterador y muestra la información de estos por pantalla.
Realiza búsquedas, inserciones, borrados, etc.
Para la entrega de la actividad deberás entregar el proyecto con todo lo que se solicita.
Realiza todas las pruebas solicitadas. Se cuidadoso y comenta el código.