Hola, Sebastian.
Tu código parece estar en el camino correcto para resolver el problema planteado. Estás utilizando condicionales if/else para verificar si un donante es compatible para donar sangre según la edad y el peso. Además, proporcionas mensajes específicos sobre qué criterio no se ha cumplido si el donante no es compatible.
Aquí tienes algunas sugerencias para asegurar que tu código funcione correctamente:
Verificación de Edad y Peso: Ya estás verificando correctamente si el donante tiene entre 18 y 65 años y si pesa más de 50 kg. Esto es exactamente lo que se requiere.
Mensajes Claros: Asegúrate de que los mensajes que se imprimen sean claros y específicos. Tu código ya hace esto al especificar el motivo por el cual el donante no es compatible.
Cerrar el Scanner: Ya estás cerrando el objeto Scanner
al final del programa, lo cual es una buena práctica para liberar recursos.
Aquí tienes un ejemplo de cómo se ejecutaría tu programa:
Entrada:
Ingrese la edad del donante: 17
Ingrese el peso del donante (en kg): 55
Salida:
El donante no es compatible.
Motivo: Debe tener entre 18 y 65 años.
Tu programa debería funcionar correctamente para este caso de prueba y otros similares. Si encuentras algún problema al ejecutar el código, verifica que los datos de entrada sean correctos y que el formato de los mensajes sea el esperado.
Espero haber ayudado y buenos estudios!