RA4 - CEb¶
Empaquetar actividades
Empaqueta las actividades, dentro de la carpeta ut05, en la carpeta actividades/ce4b.
Actividad 03¶
paquete _02_gestionHospital
Se desea realizar una aplicación para gestionar el ingreso y el alta de pacientes de un hospital.
Empaqueta las clases de las actividades: 03, 04, 05 y 06 en el paquete _02_gestionHospital.
La clase Paciente permite representar un paciente mediante los atributos: nombre (cadena), edad (entero), estado (entero entre 1 -más grave- y 5 -menos grave-, 6 si está curado), y con las siguientes operaciones:
-
public Paciente (String n, int e). Constructor de un objetoPacientede nombren, deeaños y cuyo estado es un valor aleatorio entre 1 y 5. -
public int getEdad(). Consultor que devuelve edad. -
public int getEstado(). Consultor que devuelve estado. -
public void mejorar(). Modificador que incrementa en uno el estado del paciente (mejora al paciente) -
public void empeorar(). Modificador que decrementa en uno el estado del paciente (empeora al paciente) -
public String toString(). Transforma el paciente en unString. Por ejemplo,
-
public int compareTo(Paciente o). Permite comparar dos pacientes. Se considera menor el paciente más leve. A igual gravedad, se considera menor el paciente más joven. Ejemplo: -
Teniendo a
David 40 3,Pepe 25 3yJuan 35 5:
Actividad 04¶
Diseñar una clase Java TestPaciente que permita probar la clase Paciente y sus métodos. Para ello se desarrollará el método main en el que:
- Se crearán dos pacientes: "Antonio" de 20 años y "Miguel" de 30 años.
- Imprimir el estado inicial de los dos pacientes.
- Mostrar los datos del que se considere menor (según el criterio de
compareTode la clasePaciente). - Aplicar "mejoras" al paciente más grave hasta que los dos pacientes tengan el mismo estado.
- Imprimir el estado final de los dos pacientes.
Actividad 05¶
La clase Hospital contiene la información de las camas de un hospital, así como de los pacientes que las ocupan. Un Hospital tiene un número máximo de camas MAXC = 200 y para representarlas se utilizará un array (llamado listaCamas) de objetos de tipo Paciente junto con un atributo (numLibres) que indique el número de camas libres del hospital en un momento dado. El número de cada cama coincide con su posición en el array de pacientes (la posición 0 no se utiliza), de manera que listaCamas[i] es el Paciente que ocupa la cama i o es null si la cama está libre. Las operaciones de esta clase son:
-
public Hospital(): Constructor de un hospital. Cuando se crea un hospital, todas las camas están libres. -
public int getNumLibres(): Consultor del número de camas libres. -
public boolean hayLibres(): Devuelve true si en el hospital hay camas libres y devuelve false en caso contrario. -
public int primeraLibre(): Devuelve el número de la primera cama libre del arraylistaCamassi hay camas libres o devuelve un 0 si no las hay. -
public void ingresarPaciente(String n, int e) throws HospitalLlenoException: Si hay camas libres, la primera de ellas (la de número menor) pasa a estar ocupada por el paciente de nombreny edade. Si no hay camas libres, lanza una excepción. -
private void darAltaPaciente(int i): La camaidel hospital pasa a estar libre. (Afectará al número de camas libres) -
public void darAltas(): Se mejora el estado (métodomejorar()dePaciente) de cada uno de los pacientes del hospital y a aquellos pacientes sanos (cuyo estado es 6) se les da el alta médica (invocando al métododarAltaPaciente). -
public String toString(): Devuelve unStringcon la información de las camas del hospital. Por ejemplo,
Actividad 06¶
En la clase GestorHospital se probará el comportamiento de las clases anteriores. El programa deberá:
- Crear un hospital.
- Ingresar a cinco pacientes con los datos simulados introducidos directamente en el programa.
- Realizar el proceso de
darAltasmientras que el número de habitaciones libres del hospital no llegue a una cantidad (por ejemplo 198). - Mostrar los datos del hospital cuando se considere oportuno para comprobar la corrección de las operaciones que se hacen.
Actividad 07¶
paquete _03_gestorCorreoElectronico
Queremos realizar la parte de un programa de correo electrónico que gestiona la organización de los mensajes en distintas carpetas.
Empaqueta las clases de las actividades: 07, 08 y 09 en el paquete _03_gestorCorreoElectronico dentro de actividades.
La clase Mensaje. De un mensaje conocemos:
Codigo (int)Número que permite identificar a los mensajes.Emisor (String): email del emisor.Destinatario (String): email del destinatario.Asunto (String)Texto (String)
Desarrollar los siguientes métodos:
- Constructor que reciba todos los datos, excepto el código, que se generará automáticamente (nº consecutivo). Ayuda: utiliza una variable de clase
static. - Consultores de todos los atributos.
public boolean equals(Object o): Dos mensajes son iguales si tienen el mismo código.public static boolean validarEMail(String email): Método estático que devuelve true o false indicando si la dirección de correo indicada es válida o no. Una dirección es válida si tiene la formadireccion@subdominio.dominio.public String toString().
Actividad 08¶
Con la clase TestCorreo probaremos las clases y métodos desarrollados.
- Crea varios mensajes con los datos que introduzca el usuario y muéstralos por pantalla.
- Prueba el método
validarEMailde la clase Mensaje con las direcciones siguientes (solo la primera es correcta) :
-tuCorreo@gmail.com
-tuCorreogmail.com
-tuCorreo@gmail
-tuCorreo.com@gmail
Actividad 09¶
realizar Actividad29
Realizar la Actividad 29 antes de Actividad 09 y empaquetarla en este mismo paquete _03_gestorCorreoElectronico.
Con la clase TestCarpetas probaremos las clases y métodos desarrollados:
- Crea dos carpetas de correo de nombre
Mensajes recibidosyMensajes eliminados respectivamente. - Crea varios mensajes y añádelos a
Mensajes recibidos. - Mueve el mensaje de código 1 desde la
Mensajes recibidosaMensajes elimiminados. - Muestra el contenido de las carpetas antes y después de cada operación (añadir, mover,...).