Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Desafio: Verificar se pode ser doador

Utilizei um if logo quando digita a idade, porque se for menor de 18 ou maior que 65, o programa já encerra e nem pede peso. Criei a váriavel peso em Double e permiti na regra que pessoas com 50kg possam doar, entao por isso é válido se >=50;

package IfAndElse;

import java.util.Scanner;

public class VerificarCompatibilidade {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        Integer idade;
        Double peso;

        System.out.println("Verificar compatibilidade para doação de sangue");
        System.out.println("-----------------------------------------------");
        System.out.println("Digite a idade do doador: ");
        idade = input.nextInt();
        input.nextLine();

        if(idade<18 || idade>65){
            System.out.println("O doador não é compatível.");
            System.out.println("Motivo: Deve ter entre 18 e 65 anos.");
            return;
        } else{
            System.out.println("Digite o peso do doador (em kg): ");
            peso = input.nextDouble();
            input.nextLine();
            if (peso>=50.0){
                System.out.println("O doador é compatível.");
            }
            else{
                System.out.println("O doador não é compatível");
                System.out.println("Motivo: Deve ter mais de 50kg.");
                return;
            }
        }
    }
}
1 resposta
solução!

Olá Paulo! Como vai?

Seu código está quase lá! Você fez um ótimo trabalho ao verificar a idade primeiro e, caso não esteja dentro do intervalo, já encerrar o programa. Isso é eficiente e evita perguntas desnecessárias ao usuário.

No entanto, de acordo com os critérios que você mencionou, o peso deve ser mais de 50 kg, e não apenas 50 kg. Portanto, a condição que verifica o peso deveria ser peso > 50.0 em vez de peso >= 50.0.

Aqui está a parte do código que você pode ajustar:

if (peso > 50.0) {
    System.out.println("O doador é compatível.");
} else {
    System.out.println("O doador não é compatível");
    System.out.println("Motivo: Deve ter mais de 50kg.");
    return;
}

Com essa pequena alteração, seu programa estará de acordo com as regras que você descreveu.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.