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

Verificación de compatibilidad para donar sangre

import java.util.Scanner;

public class DonarSangre {

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 (en kg): ");
    int peso = scanner.nextInt();

    if (edad >= 18 && edad <=65 && peso >=50){

        System.out.println("El donante es compatible. " + " Edad: " + edad + " Peso: " + peso);
    } else {

        System.out.println("El doante no es compatible.\n Motivo: Debe tener entre 18 y 65 años y pesar mas de 50 kg.");
    }

 scanner.close();

}

}

1 respuesta

Hola Andrés,

Tu código para verificar la compatibilidad para donar sangre parece estar bien estructurado. Sin embargo, he notado un pequeño error tipográfico en el mensaje que se imprime cuando el donante no es compatible. La palabra "doante" debería ser "donante". Aquí tienes la corrección:

System.out.println("El donante no es compatible.\n Motivo: Debe tener entre 18 y 65 años y pesar más de 50 kg.");

Además, es una buena práctica verificar si el Scanner realmente recibe un número entero antes de asignarlo a edad o peso, para evitar posibles errores en tiempo de ejecución. Puedes hacerlo usando scanner.hasNextInt() antes de scanner.nextInt(). Aquí tienes un ejemplo de cómo podrías implementarlo:

public class DonarSangre {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        System.out.println("Ingrese la edad del donante:");

        if(scanner.hasNextInt()) {
            int edad = scanner.nextInt();

            System.out.println("Ingrese el peso del donante (en kg): ");

            if(scanner.hasNextInt()) {
                int peso = scanner.nextInt();

                if (edad >= 18 && edad <= 65 && peso >= 50) {
                    System.out.println("El donante es compatible. " + " Edad: " + edad + " Peso: " + peso);
                } else {
                    System.out.println("El donante no es compatible.\n Motivo: Debe tener entre 18 y 65 años y pesar más de 50 kg.");
                }
            } else {
                System.out.println("Por favor, ingrese un número válido para el peso.");
            }
        } else {
            System.out.println("Por favor, ingrese un número válido para la edad.");
        }

        scanner.close();
    }
}

Espero que esto te ayude a mejorar tu programa. ¡Espero haber ayudado y buenos estudios!