Hola! comparto mi ejercicio, como lo desarrolle.
Hola! comparto mi ejercicio, como lo desarrolle.
¡Hola, Angélica, espero que estés bien!
Gracias por compartir tu ejercicio. Tu código está casi completo, pero hay un pequeño ajuste que podrías hacer para mejorar la lógica de verificación de compatibilidad. Actualmente, el programa imprime el motivo incluso si el donante es compatible. Vamos a ajustar eso para que solo se muestre el motivo cuando el donante no cumpla con los criterios.
Aquí tienes una sugerencia de cómo podrías modificar tu código:
import java.util.Scanner;
public class DonantesSangre {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Ingrese la edad del donante:");
int edad = scanner.nextInt();
System.out.println("Ingrese el peso del donante:");
int peso = scanner.nextInt();
boolean esCompatible = true;
if (edad < 18 || edad > 65) {
System.out.println("El donante no es compatible.");
System.out.println("Motivo: el donante debe tener entre 18 y 65 años.");
esCompatible = false;
}
if (peso < 50) {
if (esCompatible) {
System.out.println("El donante no es compatible.");
}
System.out.println("Motivo: el donante debe tener un peso igual o mayor a 50 kg.");
esCompatible = false;
}
if (esCompatible) {
System.out.println("El donante es compatible.");
}
scanner.close();
}
}
En este código, utilizamos una variable esCompatible
para rastrear si el donante cumple con todos los criterios. Solo imprimimos los motivos si el donante no es compatible. De esta manera, el mensaje es más claro y preciso.
Espero que esto te ayude a mejorar tu ejercicio. ¡Bons estudios!