¡Hola Esteban, espero que estés bien!
Tu código para verificar la compatibilidad de un donante de sangre se ve bastante bien y parece que cumple con los requisitos del ejercicio. Estás utilizando correctamente las estructuras condicionales para determinar si el donante cumple con los criterios de edad y peso.
Vamos a revisar algunos puntos importantes:
Entrada de datos: Estás utilizando Scanner
para recibir la edad y el peso del donante, lo cual es correcto.
Condiciones de compatibilidad: Has definido correctamente las condiciones isValidAge
y isValidWeight
para verificar si el donante es compatible.
Salida de mensajes: El uso de if
y else
para determinar si el donante es compatible y para listar los motivos de no compatibilidad está bien implementado.
Formato de salida: Estás utilizando cadenas multilínea para los mensajes de los motivos, lo cual es una buena práctica para mantener el código limpio y legible.
Tu programa ya está cumpliendo con lo que se solicita en el ejercicio. Aquí tienes un ejemplo de cómo se comportaría tu programa con una entrada específica:
Ejemplo de entrada:
Ingrese la edad del donante: 17
Ingrese el peso del donante (en kg): 55
Salida esperada:
El donante no es compatible.
Motivo(s):
- Debe tener entre 18 y 65 años.
Tu código debería producir exactamente esta salida, lo que significa que está funcionando correctamente.
Espero que esta explicación te sea de ayuda y que continúes practicando con éxito. ¡Bons estudos!