Hola Sol, espero que estés bien
Veo que estás trabajando en un programa para verificar la compatibilidad de un donante de sangre. Has hecho un buen trabajo hasta ahora, pero parece que hay un pequeño error en la lógica de tu programa. Vamos a ajustarlo para que cumpla con los requisitos de la actividad.
En tu código, el problema principal es que el mensaje sobre el peso incorrecto menciona que debe ser "más de 55 kg", cuando en realidad debería ser "más de 50 kg", según los criterios dados. Además, la lógica para imprimir los mensajes de error podría simplificarse para que sea más clara.
Aquí te dejo una versión ajustada de tu código:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Ingrese la edad del donante:");
int age = scanner.nextInt();
System.out.println("Ingrese el peso del donante (en kg):");
int weight = scanner.nextInt();
boolean validAge = age >= 18 && age <= 65;
boolean validWeight = weight > 50;
if (validAge && validWeight) {
System.out.println("El donante es compatible para donar sangre.");
} else {
System.out.println("El donante no es compatible.");
System.out.println("Motivo:");
if (!validAge) {
System.out.println("- Debe tener entre 18 y 65 años.");
}
if (!validWeight) {
System.out.println("- Debe pesar más de 50 kg.");
}
}
}
}
Con estos cambios, el programa debería funcionar correctamente según los requisitos de la actividad. Espero que esto te ayude a avanzar en tu aprendizaje de Java.
¡Espero haber ayudado y buenos estudios!