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

[Ejercicio] Verificación de compatibilidad para donar sangre

import java.util.Scanner;

public class LoanEligibilityChecker {

  public static void main(String[] args) {
    
    Scanner scanner = new Scanner(System.in);

    System.out.print("Ingrese la edad el donante: ");
    int age = scanner.nextInt();

    System.out.print("Ingrese el peso del donante en kilogramos: ");
    int weight = scanner.nextInt();

    boolean ageEligible = age >= 18 && age <= 65;
    boolean weightEligible = weight >= 50;

    scanner.close();

    if (!(ageEligible && weightEligible)) {
      System.out.println("El donante no es compatible. Motivo:");

      if (!ageEligible) {
      System.out.println("- Debe tener entre 18 y 65 años.");
      }

      if (!weightEligible) {
      System.out.println("- Debe pesar más de 50 kg.");
      }
      return;
    }

    System.out.println("El donante es compatible para donar sangre.");


  }

}
1 respuesta

¡Hola, Sebastian, espero que estés bien!

Tu código parece estar casi perfecto para resolver el ejercicio de verificación de compatibilidad para donar sangre. Estás utilizando bien las estructuras condicionales para verificar los criterios de edad y peso. Sin embargo, hay un pequeño detalle que podrías ajustar para que el mensaje de salida sea exactamente como se espera en el ejercicio.

En tu implementación actual, cuando el donante no es compatible, el mensaje de salida es "El donante no es compatible. Motivo:". Según el ejemplo proporcionado en el ejercicio, el mensaje debería ser "El donante no es compatible." seguido por "Motivo:" en la línea siguiente. Aquí tienes una pequeña modificación para lograrlo:

import java.util.Scanner;

public class LoanEligibilityChecker {

  public static void main(String[] args) {
    
    Scanner scanner = new Scanner(System.in);

    System.out.print("Ingrese la edad el donante: ");
    int age = scanner.nextInt();

    System.out.print("Ingrese el peso del donante en kilogramos: ");
    int weight = scanner.nextInt();

    boolean ageEligible = age >= 18 && age <= 65;
    boolean weightEligible = weight >= 50;

    scanner.close();

    if (!(ageEligible && weightEligible)) {
      System.out.println("El donante no es compatible.");
      System.out.println("Motivo:");

      if (!ageEligible) {
        System.out.println("- Debe tener entre 18 y 65 años.");
      }

      if (!weightEligible) {
        System.out.println("- Debe pesar más de 50 kg.");
      }
      return;
    }

    System.out.println("El donante es compatible para donar sangre.");
  }
}

Con este pequeño ajuste, el programa debería funcionar como se espera en el ejercicio. Espero que esto te ayude y que sigas disfrutando de tus estudios de Java. ¡Espero haber ayudado y buenos estudios!