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

´Pode doar sangue

Regras: o doador deve ter entre 18 e 65 anos e pesar mais de 50kg

import java.util.Scanner;

public class EhDoador {

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

        System.out.println("Digite a sua idade");

        int idade = resposta.nextInt();
        System.out.println("Digite o seu peso");
        double peso = resposta.nextDouble();

        if ((idade >= 18 && idade <= 65) && peso > 50){

            System.out.println("O doador é compatível");
        }
        else if(idade < 18 || idade > 65) {
            System.out.println("O doador não é compatível. \n  Motivo: Deve ter entre 18 e 65 anos.");
        }
        else if (peso < 50){

            System.out.println("O doador não é compatível. \n  Motivo: O doador deve pesar mais de 50Kg.");

        }
    }

}

Print da execução do código

Print da execução do código

IPrint da execução do código

1 resposta
solução!

Oi, Terezinha!

O seu código está quase correto, mas há um pequeno ajuste que pode ser feito para melhorar a lógica das condições. Vamos revisar o código:

import java.util.Scanner;

public class EhDoador {

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

        System.out.println("Digite a sua idade");
        int idade = resposta.nextInt();
        
        System.out.println("Digite o seu peso");
        double peso = resposta.nextDouble();

        if (idade >= 18 && idade <= 65 && peso > 50) {
            System.out.println("O doador é compatível");
        } else {
            if (idade < 18 || idade > 65) {
                System.out.println("O doador não é compatível. \nMotivo: Deve ter entre 18 e 65 anos.");
            }
            if (peso <= 50) {
                System.out.println("O doador não é compatível. \nMotivo: O doador deve pesar mais de 50Kg.");
            }
        }
    }
}

Ajustes realizados:

  1. Condições separadas: No bloco else, se a idade não estiver no intervalo permitido, ele já imprime a mensagem de incompatibilidade. E se o peso for menor ou igual a 50, também imprime a mensagem correspondente. Assim, cobre ambos os casos de incompatibilidade.

  2. Peso <= 50: Corrigi a condição do peso para peso <= 50 para garantir que qualquer peso igual ou abaixo de 50 kg seja considerado incompatível.

Espero ter ajudado e bons estudos!

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