Mi propuesta de solución:
import java.util.Scanner;
public class VerificacionCompatibilidadDonador {
public static void main(String[] args) {
String separacion = "**************************************************";
String espacio = "";
System.out.println(separacion);
System.out.println("Verificación de compatibilidad para donar sangre.");
System.out.println(separacion);
Scanner teclado = new Scanner(System.in);
System.out.println("\nPor favor, ingrese la edad del donante:");
int edadDonante = teclado.nextInt();
System.out.println("\nPor favor, ingrese el peso del donante (en kg.):");
double pesoDonante = teclado.nextDouble();
teclado.close();
boolean edadCompatible = edadDonante >= 18 && edadDonante <= 65;
boolean pesoCompatible = pesoDonante > 50;
String noCompatible = "El donante no es compatible.\nMotivos: ";
String motivo1 = "- Debe tener entre 18 y 65 años.";
String motivo2 = "- Debe tener un peso mayor a 50 Kg.";
System.out.println(espacio);
System.out.println(separacion);
if (edadCompatible && pesoCompatible) {
System.out.println("El donante es compatible para donar sangre.");
} else if (!edadCompatible && !pesoCompatible) {
System.out.println(noCompatible + "\n" + motivo1 + "\n" + motivo2);
System.out.println(separacion);
return;
} if (!edadCompatible) {
System.out.println(noCompatible + "\n" + motivo1);
} if (!pesoCompatible) {
System.out.println(noCompatible + "\n" + motivo2);
}
System.out.println(separacion);
}
}