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

Donante

   public void verificarDonante(int edad, double peso) {
    if (edad >= 18 && edad <= 65 && peso >= 50) {
        System.out.println("Puede donar sangre.");
    } else {
        System.out.println("El donante no es compatible.\n" +
                "Motivo: Debe tener entre 18 y 65 años.  y \n" +
                "Pesar mas de 50 kg .");
    }
}

 // Ejemplo de uso de la clase Donante
    Donante donante = new Donante();
    Scanner scanner9 = new Scanner(System.in);
    System.out.print("Ingrese la edad del donante: ");
    int edad = scanner9.nextInt();
    System.out.print("Ingrese el peso del donante (en kg): ");
    double peso = scanner9.nextDouble();
    donante.verificarDonante(edad, peso);
    scanner9.close();
1 respuesta

¡Hola Estudiante, espero que estés bien!

Parece que estás en el camino correcto con tu función verificarDonante. Sin embargo, para cumplir con el requisito de especificar exactamente qué criterio no fue cumplido, podrías ajustar un poco el código para verificar cada condición por separado y proporcionar un mensaje más detallado. Aquí te dejo un ejemplo de cómo podrías hacerlo:

public void verificarDonante(int edad, double peso) {
    boolean edadValida = edad >= 18 && edad <= 65;
    boolean pesoValido = peso > 50;

    if (edadValida && pesoValido) {
        System.out.println("Puede donar sangre.");
    } else {
        System.out.println("El donante no es compatible.");
        if (!edadValida) {
            System.out.println("Motivo: Debe tener entre 18 y 65 años.");
        }
        if (!pesoValido) {
            System.out.println("Motivo: Debe pesar más de 50 kg.");
        }
    }
}

Con este ajuste, el programa verificará cada condición por separado y te dará un mensaje específico para cada criterio que no se cumpla. Por ejemplo, si la edad está fuera del rango y el peso es insuficiente, ambos mensajes de error se mostrarán.

Espero que esta sugerencia te ayude a mejorar tu programa. ¡Espero haber ayudado y buenos estudios!