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

[Sugerencia] Verificación de compatibilidad para donar sangre

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        int age;
        double weight;

        System.out.println("Para verificar si es adecuad@ para donar sangre, ingrese lo siguiente:");
        System.out.println("Por favor, ingrese la edad del donante:");
        age = scanner.nextInt();
        System.out.println("Por favor, ingrese el peso en Kg del donante");
        weight = scanner.nextDouble();

        if (age >= 18 && weight >= 58) System.out.println("Con la edad de " + age + " años y un peso de " + weight + " kilogramos, el candidato sí es adecuado para donar sangre.");
        else System.out.println("Con la edad de " + age + " años y un peso de " + weight + " kilogramos, el candidato no es adecuado para donar sangre.");

        scanner.close();
    }
}
1 respuesta

Hola Luis, espero que estés bien

¡Gracias por compartir tu código! Veo que ya tienes una buena base para verificar si alguien puede donar sangre. Sin embargo, según los criterios mencionados en el ejercicio, hay algunos ajustes que podrías hacer para que tu programa cumpla con los requisitos.

Actualmente, tu programa verifica si la persona tiene 18 años o más y pesa al menos 58 kg. Sin embargo, el ejercicio especifica que el donante debe tener entre 18 y 65 años y pesar más de 50 kg. Además, si el donante no es compatible, el programa debe indicar qué criterio no fue cumplido.

Aquí tienes una versión ajustada de tu programa:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        int age;
        double weight;

        System.out.println("Para verificar si es adecuad@ para donar sangre, ingrese lo siguiente:");
        System.out.println("Por favor, ingrese la edad del donante:");
        age = scanner.nextInt();
        System.out.println("Por favor, ingrese el peso en Kg del donante");
        weight = scanner.nextDouble();

        if (age >= 18 && age <= 65 && weight > 50) {
            System.out.println("Con la edad de " + age + " años y un peso de " + weight + " kilogramos, el candidato sí es adecuado para donar sangre.");
        } else {
            System.out.println("El donante no es compatible.");
            if (age < 18 || age > 65) {
                System.out.println("Motivo: Debe tener entre 18 y 65 años.");
            }
            if (weight <= 50) {
                System.out.println("Motivo: Debe pesar más de 50 kg.");
            }
        }

        scanner.close();
    }
}

Con este ajuste, el programa verificará correctamente los criterios de edad y peso y proporcionará un mensaje más detallado si el donante no cumple con los requisitos.

Espero haber ayudado y buenos estudios!