import java.util.Scanner;
public class VerificadorDonante {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int edad = 0;
double peso = 0.0;
// Validar edad (debe ser entero positivo)
while (true) {
System.out.print("Ingrese la edad del donante: ");
String entradaEdad = scanner.nextLine().trim();
if (entradaEdad.matches("^\\d+$")) {
edad = Integer.parseInt(entradaEdad);
if (edad > 0) break;
else System.out.println("La edad debe ser mayor que cero.");
} else {
System.out.println("Entrada inválida. Ingrese un número entero positivo para la edad.");
}
}
// Validar peso (debe ser número positivo, entero o decimal)
while (true) {
System.out.print("Ingrese el peso del donante (en kg): ");
String entradaPeso = scanner.nextLine().trim();
if (entradaPeso.matches("^\\d+(\\.\\d+)?$")) {
peso = Double.parseDouble(entradaPeso);
if (peso > 0) break;
else System.out.println("El peso debe ser mayor que cero.");
} else {
System.out.println("Entrada inválida. Ingrese un número válido para el peso (sin letras ni símbolos).");
}
}
// Verificar compatibilidad
boolean edadValida = (edad >= 18 && edad <= 65);
boolean pesoValido = (peso > 50);
if (edadValida && pesoValido) {
System.out.println("El donante es compatible para donar sangre.");
} else {
System.out.println("El donante no es compatible.");
System.out.println("Motivo:");
if (!edadValida) {
System.out.println("- Debe tener entre 18 y 65 años.");
}
if (!pesoValido) {
System.out.println("- Debe pesar más de 50 kg.");
}
}
scanner.close();
}
}