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

Desafio verificar donante

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class VerificarDonante {
    public static void main(String[] args) {

        String motivo1 = "Motivo: Debe tener entre 18 y 65 años.";
        String motivo2 = "Motivo: Debe pesar más de 50 kg";
        String compatible = "El donante es compatible.";
        String noCompatible = "El donante no es compatible.";

        List<String> resultado = new ArrayList<>();

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

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

        if (edad >= 18 && edad <= 65) {
            if (peso >= 50) {
                resultado.add(compatible);
            } else {
                resultado.add(noCompatible);
                resultado.add(motivo2);
            }
        } else {
            resultado.add(noCompatible);
            resultado.add(motivo1);
        }

        System.out.println("\n-----RESULTADO");
        for (int i = 0; i < resultado.size(); i++) {
            System.out.println(resultado.get(i));
        }
        scanner.close();
    }
}
1 respuesta

Hola Juan,

Tu código para verificar si un donante es compatible para donar sangre parece estar bien estructurado y cumple con los requisitos mencionados en el ejercicio. Estás utilizando correctamente las estructuras condicionales para verificar los criterios de edad y peso.

Aquí tienes un par de sugerencias para asegurarte de que tu código sea lo más claro y eficiente posible:

  1. Comentarios: Aunque tu código es bastante claro, agregar comentarios puede ayudar a otros (o a ti mismo en el futuro) a entender rápidamente qué hace cada parte del código.

  2. Mensajes de salida: Ya estás manejando bien los mensajes de salida. Asegúrate de que el mensaje "El donante no es compatible." se imprima antes de los motivos, lo cual ya estás haciendo correctamente.

  3. Validación de entrada: Considera agregar una validación para asegurarte de que el usuario ingrese valores numéricos válidos para la edad y el peso. Esto puede evitar errores si se ingresan datos no válidos.

Aquí tienes un pequeño ejemplo de cómo podrías agregar un comentario y una validación sencilla:

// Verifica si el donante cumple con los criterios de edad y peso
if (edad >= 18 && edad <= 65) {
    if (peso >= 50) {
        resultado.add(compatible);
    } else {
        resultado.add(noCompatible);
        resultado.add(motivo2);
    }
} else {
    resultado.add(noCompatible);
    resultado.add(motivo1);
}

Espero que estas sugerencias te sean útiles. ¡Espero haber ayudado y buenos estudios!