Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Verificador si donante es compatible para donar sangre, aquí se aplica concatenación de operadores lógicos

Scanner scanner = new Scanner(System.in);
System.out.println("Ingrese su edad : ");
int edad = scanner.nextInt();

System.out.println("ingrese su peso en KG : ");
int peso = scanner.nextInt();

boolean edadvalidad = edad >=18 && edad <=65;
boolean pesovalido= peso >50;



if (edadvalidad && pesovalido) {
    System.out.println("usted es esta acto para donar sangre");

} else {
    System.out.println("El donante no es compatible.\n" +
            "Motivo: Debe tener entre 18 y 65 años.");
}
if (edadvalidad ) {
    System.out.println("debe tener en 18 añpos y 65 ");

}else {
    System.out.println("debe pesar mas de 50KG");
}

scanner.close();



    }
}
1 respuesta

Hola Jose, espero que estés bien

Veo que estás intentando crear un programa para verificar si un donante es compatible para donar sangre. Has hecho un buen trabajo al utilizar operadores lógicos para verificar las condiciones de edad y peso. Sin embargo, parece que hay un pequeño problema en tu lógica de salida de mensajes. Vamos a corregirlo para que el programa indique correctamente qué criterio no fue cumplido.

Aquí tienes una versión ajustada de tu código:

import java.util.Scanner;

public class VerificadorDonante {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("Ingrese su edad: ");
        int edad = scanner.nextInt();
        
        System.out.println("Ingrese su peso en KG: ");
        int peso = scanner.nextInt();
        
        boolean edadValida = edad >= 18 && edad <= 65;
        boolean pesoValido = peso > 50;
        
        if (edadValida && pesoValido) {
            System.out.println("Usted está apto para donar sangre.");
        } else {
            System.out.println("El donante no es compatible.");
            if (!edadValida) {
                System.out.println("Motivo: Debe tener entre 18 y 65 años.");
            }
            if (!pesoValido) {
                System.out.println("Motivo: Debe pesar más de 50 KG.");
            }
        }
        
        scanner.close();
    }
}

Con este ajuste, el programa ahora verificará ambos criterios y, si el donante no es compatible, indicará específicamente qué criterio no fue cumplido. Espero que esto te ayude a avanzar en tu aprendizaje de Java.

¡Espero haber ayudado y buenos estudios!