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

Compatibilidad para donar sangre - solución

import java.util.Scanner;

public class Alura {
    public static void main(String[] args) {
        // Declaración de variables
        Scanner scanner = new Scanner(System.in);

        // Entrada de datos
        System.out.print("Ingrese la edad del donante: ");
        int edad = scanner.nextInt();

        System.out.print("Ingrese el peso del donante (en kg): ");
        double peso = scanner.nextDouble();

        // Validación de requisitos
        System.out.println("\nValidando requisitos para donar sangre...");
        if (edad >= 18 && edad <= 65 && peso > 50) {
            System.out.println("\nEl donante es compatible para donar sangre.");
        } else {
            System.out.println("\nEl donante no es compatible para donar sangre.");
            if (edad < 18 || edad > 65) {
                System.out.println("Motivo: edad permitida entre 18 y 65 años.");
            }
            if (peso < 50) {
                System.out.println("Motivo: el peso de donante debe ser superior a 50 kg.");
            }
        }

        // Cierre del scanner
        scanner.close();
    }
}
1 respuesta

Hola Erick, espero que estés bien

Tu código parece estar bien encaminado para resolver el problema de verificar la compatibilidad para donar sangre. Estás utilizando correctamente las estructuras condicionales if y else para determinar si el donante cumple con los criterios de edad y peso.

Aquí tienes algunos puntos a considerar que podrían mejorar tu código:

  1. Mensajes de salida: Asegúrate de que los mensajes de salida sean claros y concisos. Por ejemplo, cuando el donante no es compatible, es útil indicar exactamente cuál o cuáles criterios no se cumplen.

  2. Orden de las validaciones: Aunque tu código ya está haciendo esto correctamente, es importante que primero verifiques si ambos criterios se cumplen antes de determinar cuál de ellos no se cumple.

  3. Estructura del código: Tu estructura actual es buena, pero siempre es útil asegurarse de que el código sea lo más legible posible. Puedes considerar agregar comentarios adicionales si crees que puede ayudar a otros (o a ti mismo en el futuro) a entender mejor el flujo del programa.

Tu código ya está haciendo lo que se espera según la descripción del ejercicio. Aquí tienes un ejemplo de cómo podría verse la salida del programa con una entrada específica:

Ejemplo de entrada:

Ingrese la edad del donante: 17
Ingrese el peso del donante (en kg): 55

Salida esperada:

El donante no es compatible para donar sangre.
Motivo: edad permitida entre 18 y 65 años.

Como puedes ver, tu código ya genera esta salida correctamente. Solo asegúrate de que los mensajes sean claros y cumplan con lo que se pide en el ejercicio.

Espero haber ayudado y buenos estudios!