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

[Duda] Desafío Verifica Compatibilidad Sangre

Esta sería mi solución:

import java.util.Scanner;

public class VerificaCompatibilidadSangre { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);

    System.out.print("Igrese edad del donante: ");
    int edad = scanner.nextInt();
    int rangoEdad1 = 18;
    int rangoEdad2 = 65;
    System.out.print("Ingrese el peso del donante: ");
    int pesoIngresado = scanner.nextInt();
    int peso = 50;
    String motivoEdad = "";
    String motivoPeso = "";

    if (edad > rangoEdad1 && edad < rangoEdad2 && pesoIngresado > peso){
        System.out.println("El donante es compatible.");
    } else{
        System.out.println("El donante no es compatible. Motivos: ");
        if (edad <rangoEdad1 || edad > rangoEdad2){
            motivoEdad = "**Debe tener entre 18 y 65 años.**";
            System.out.println(motivoEdad);
        }
        if (pesoIngresado < peso) {
            motivoPeso = "El peso no es requerido para donar sangre, debe pesar más de 50 Kg.";
            System.out.println(motivoPeso);
        }

    }

    scanner.close();

}

}

1 respuesta

¡Hola Luis, espero que estés bien!

Tu solución para el desafío de verificar la compatibilidad de sangre se ve bastante bien y está alineada con los requisitos del ejercicio. Has implementado correctamente la lógica para verificar tanto la edad como el peso del donante. Aquí hay un par de sugerencias para mejorar la claridad y la estructura de tu código:

  1. Mensajes de entrada: Asegúrate de que los mensajes de entrada sean claros para el usuario. Por ejemplo, podrías especificar que el peso debe ser ingresado en kilogramos.

  2. Condiciones de edad: En tu código actual, estás usando edad > rangoEdad1 && edad < rangoEdad2. Esto significa que no estás incluyendo los límites de edad (18 y 65 años). Para incluirlos, deberías usar edad >= rangoEdad1 && edad <= rangoEdad2.

Con estos ajustes, tu programa debería funcionar de acuerdo con los requisitos del ejercicio. Espero que esto te ayude a avanzar en tu aprendizaje de Java.

¡Espero haber ayudado y buenos estudios!