Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Verificación de compatibilidad para donar sangre

public static void main(String[] args) {  

    Scanner imprimirEnPantalla = new Scanner(System.in);  
    int edadDonante = imprimirEnPantalla.nextInt();  
    int pesoDonante = imprimirEnPantalla.nextInt();  
    System.out.println("Ingrese la edad del donante: " + edadDonante);  
    System.out.println("Ingrese el peso del donante (en kg): " + pesoDonante);  

    if (edadDonante > 18 && edadDonante < 65 && pesoDonante > 50){  
        System.out.println("El donante puede proceder para la donacion de sangre");  
        System.out.println("Motivo: Cumple con los requisitos para donar");  
    } else if (pesoDonante < 50){  
        System.out.println("El donante no es compatible.");  
        System.out.println("Motivo: Su peso no es el recomendable para la donacion");  
    } else {  
        System.out.println("El donante no es compatible.");  
        System.out.println("Motivo: Debe tener entre 18 y 65 años");  
    }  
}
1 respuesta

Hola David, espero que estés bien

Tu código está casi correcto, pero hay un pequeño detalle que podrías ajustar para que funcione como se espera. Actualmente, tu programa verifica si el donante es compatible, pero en los casos en que no lo es, no está verificando ambos criterios de manera independiente. Esto significa que si el donante no cumple con ambos criterios, solo se está mostrando el mensaje relacionado con el peso.

Para solucionarlo, podrías modificar la estructura de tus condiciones if para verificar cada criterio por separado y proporcionar un mensaje más específico.

En este ajuste, el programa verifica cada condición de forma independiente, lo que permite proporcionar un mensaje más detallado sobre qué criterio no se cumple. Espero que esto te ayude a lograr el resultado esperado.

¡Espero haber ayudado y buenos estudios!