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

Ejercicio Verificacion de Compatibilidad para donar sangre

public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Ingrese la edad del donante: "); int edad = scanner.nextInt(); System.out.print("Ingrese el peso del donante (en kg): "); int peso = scanner.nextInt();

    if (edad >= 18 && edad <= 65 && peso > 50){
        System.out.println("El donante es compatible para donar sangre.");
    }
    else {
        System.out.println("El donante no es compatible. Motivo:");
        if(edad<= 17){
            System.out.println("- Debe tener entre 18 y 65 años.");
        }else if (peso <50){
            System.out.println("- Debe pesar más de 50 kg.");
        }else{
            System.out.println("El donante no puede donar");
        }

    }
    scanner.close();
}

}

1 respuesta

Hola Jean, espero que estés bien

¡Tu código se ve bien encaminado! Sin embargo, hay un pequeño detalle que podrías ajustar para que el mensaje de salida sea más preciso en caso de que el donante no cumpla con los criterios. Actualmente, si el donante no es compatible, tu código verifica primero si la edad es menor o igual a 17, y luego si el peso es menor a 50. Esto está bien, pero podrías mejorar el mensaje de salida para que sea más claro.

Aquí tienes una pequeña sugerencia de mejora:

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Ingrese la edad del donante: ");
        int edad = scanner.nextInt();
        System.out.print("Ingrese el peso del donante (en kg): ");
        int peso = scanner.nextInt();

        if (edad >= 18 && edad <= 65 && peso > 50) {
            System.out.println("El donante es compatible para donar sangre.");
        } else {
            System.out.println("El donante no es compatible. Motivo:");
            if (edad < 18 || edad > 65) {
                System.out.println("- Debe tener entre 18 y 65 años.");
            }
            if (peso <= 50) {
                System.out.println("- Debe pesar más de 50 kg.");
            }
        }
        scanner.close();
    }
}

Con este ajuste, el programa verificará ambos criterios de manera independiente y podrá mostrar ambos motivos si es necesario. Por ejemplo, si un donante tiene 17 años y pesa 49 kg, el programa indicará ambos motivos por los cuales no es compatible.

Espero que esto te ayude y buenos estudios!