Hola Yair, espero que estés bien
¡Espero que estés bien! He revisado tu código y parece que está funcionando correctamente para verificar la compatibilidad de un donante de sangre según los criterios que mencionaste. Sin embargo, parece que el ejercicio solo requiere verificar la edad y el peso del donante, mientras que tu código también considera otros factores como el estado de salud, cirugías recientes, embarazo/lactancia, enfermedades y consumo de drogas.
Para simplificar el programa y ajustarlo a los requisitos del ejercicio, podrías modificarlo para que solo considere la edad y el peso del donante. Aquí tienes un ejemplo de cómo podría quedar:
import java.util.Scanner;
public class VerificaciónDeCompatibilidadParaDonarSangre {
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): ");
double peso = scanner.nextDouble();
if (edad >= 18 && edad <= 65 && peso > 50) {
System.out.println("El donante es compatible.");
} else {
System.out.println("El donante no es compatible.");
if (edad < 18 || edad > 65) {
System.out.println("Motivo: Debe tener entre 18 y 65 años.");
}
if (peso <= 50) {
System.out.println("Motivo: Debe pesar más de 50 kg.");
}
}
scanner.close();
}
}
Con estas modificaciones, el programa ahora se centra solo en los criterios de edad y peso, que son los requeridos por el ejercicio. Espero que esto te ayude a avanzar en tu proyecto.
¡Espero haber ayudado y buenos estudios!