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

Mi código Donador de sangre

Buenas noches, envío mi código, saludos.

import java.util.Scanner;

public class DonanteSangre {
    public static void main(String[] args) {
        Scanner teclado = new Scanner(System.in);
        System.out.println("**** Verificador para donar sangre. ****");
        System.out.println("Ingrese la edad del donante: ");
        int edadDonante = teclado.nextInt();
        boolean verificadorEdad;
        boolean verificadorPeso;

        System.out.println("Ingrese el peso del donante (en Kg.)");
        double pesoDonante = teclado.nextInt();
        teclado.close();

        verificadorEdad = edadDonante >= 18 && edadDonante <= 65;

        verificadorPeso = pesoDonante > 50;

        if (verificadorEdad && verificadorPeso) {
            System.out.println("El Donante es compatible");
        } else {
            System.out.println("El donante no es compatible");
        }
        if (!verificadorEdad && !verificadorPeso){
            System.out.println("Motivo I: Debe tener entre 18 y 65 años, y pesar mas de 50 Kg.");
    } else if (!verificadorPeso) {
            System.out.println("Motivo: Debe de pesar mas de 50 Kg.");
        } else if (!verificadorEdad){
            System.out.println("Motivo: Debe tener entre 18 y 65 años");
        }
}
}
1 respuesta

Hola Isidro, espero que estés bien

Tu código parece estar bastante bien estructurado y cumple con los requisitos del ejercicio. Sin embargo, hay un pequeño detalle que podrías ajustar para mejorar la precisión del programa.

En la línea donde lees el peso del donante, estás utilizando teclado.nextInt(), lo cual es más adecuado cambiar a teclado.nextDouble() para asegurar que el programa pueda manejar pesos que no sean números enteros, como 50.5 kg, por ejemplo.

Aquí está la corrección sugerida:

double pesoDonante = teclado.nextDouble();

Con este cambio, tu programa podrá manejar entradas de peso con decimales, lo cual es más realista. El resto del código parece estar en orden y debería funcionar correctamente para verificar la compatibilidad del donante según los criterios especificados.

Espero ter ayudado y bons estudos!