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

Hola, comparto mi código, agradecería si hay alguna sugerencia de mejora en la lógica del condicional, gracias

import java.util.Scanner;

public class VerificaDonacionDeSangre {

    public static void main(String[] args) {
        Scanner teclado = new Scanner(System.in);
        System.out.println("Ingrese la edad del donante: ");
        int edadDonante = teclado.nextInt();
        System.out.println("Ingrese el peso del donante (en kg): ");
        double pesoDonante = teclado.nextDouble();

        boolean edadValida = (edadDonante >= 18) && (edadDonante <= 65);
        boolean pesoValido = pesoDonante>50;

        if (edadValida && pesoValido){
            System.out.println("El donante es compatible");
        } else if (edadValida == false) {
            System.out.println("El donante no es compatible");
            System.out.println("Motivo: Debe tener entre 18 y 65 años ");
        } else {
            System.out.println("El donante no es compatible");
            System.out.println("Motivo: Debe pesar más de 50 kg ");
        }
        teclado.close();

    }
}
1 respuesta

Hola Mónica, espero que estés bien

Gracias por compartir tu código. Está bastante bien estructurado y cumple con la mayoría de los requisitos del ejercicio. Sin embargo, hay un pequeño ajuste que podrías considerar para mejorar la claridad y eficiencia de tu lógica condicional.

Actualmente, estás utilizando else if (edadValida == false), lo cual es funcional, pero podrías simplificarlo utilizando !edadValida, que es una manera más directa de expresar la condición.

Este cambio no solo hace que el código sea más legible, sino que también es una práctica común en programación para simplificar las condiciones booleanas.

Espero que esta pequeña sugerencia te sea útil. ¡Espero haber ayudado y buenos estudios!