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

Propuesta de solución para el ejercicio de verificación de compatibilidad para donar sangre

Buenas tardes,

Les comparto mi solución al ejercicio propuesto:

package com.camilodev.ejercicios.condicionales;

import java.util.Locale;
import java.util.Scanner;

public class VerificacionCompatibilidadSangre {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        input.useLocale(Locale.US);

        final int EDAD_MINIMA = 18;
        final int EDAD_MAXIMA = 65;
        final int PESO_MINIMO = 50;

        System.out.println("Ingrese la edad del donante:");
        int edadDonante = input.nextInt();

        System.out.println("Ingrese el peso del donante (en kg):");
        double pesoDonante = input.nextDouble();

        if(edadDonante <= EDAD_MAXIMA && edadDonante >= EDAD_MINIMA && pesoDonante > PESO_MINIMO){
            System.out.println("El donante es compatible.");
        }else{
            System.out.println("El donante no es compatible");
            if((!(edadDonante <= EDAD_MAXIMA) || !(edadDonante >= EDAD_MINIMA)) && !(pesoDonante > PESO_MINIMO)){
                System.out.println("Debe tener entre %d y %d años y un peso mayor a %d kg".formatted(EDAD_MINIMA, EDAD_MAXIMA, PESO_MINIMO));
            } else if(!(edadDonante <= EDAD_MAXIMA) || !(edadDonante >= EDAD_MINIMA)){
                System.out.println("Debe tener entre %d y %d años".formatted(EDAD_MINIMA, EDAD_MAXIMA));
            } else if (!(pesoDonante > PESO_MINIMO)) {
                System.out.println("Debe tener un peso mayor a %d kg".formatted(PESO_MINIMO));
            }
        }
        input.close();
    }
}

Cualquier sugerencia es bienvenida.

Gracias por su atención.

1 respuesta

Hola Camilo, espero que estés bien

¡Gracias por compartir tu solución! Me parece que has hecho un gran trabajo al implementar las condiciones para verificar la compatibilidad de un donante de sangre. Tu código está bien estructurado y cumple con los requisitos del ejercicio.

Quisiera ofrecerte una pequeña sugerencia para mejorar la legibilidad de tu código. Podrías considerar simplificar las condiciones en el bloque else para que sean más claras.

De esta manera, cada condición se evalúa de forma independiente, lo que puede facilitar la comprensión del código. Sin embargo, tu enfoque actual también es válido y funcional.

Espero que esta sugerencia te sea útil y continúes disfrutando de tus estudios de Java. ¡Bons estudios!