1
resposta

[Projeto] Minha solução: verificação de compatibilidade de doação de sangue

package br.com.alura.exercicios.ex9;

import java.util.Scanner;

// Verificação de compatibilidade de doação de sangue
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.println("Digite a idade do doador: ");
        int idade = sc.nextInt();
        System.out.println("Digite o peso do doador (em kg): ");
        double peso = sc.nextDouble();

        boolean idadeValida = idade >= 18 && idade <= 56;
        boolean pesoValido = peso > 50;

        if (idadeValida && pesoValido){
            System.out.println("O doador é compativel para doação de sangue.");
        } else {
            System.out.print("O doador não é compativel.\nMotivo: ");
            if (!idadeValida){
                System.out.print("Deve ter entre 18 e 65 anos.");
            }
            if (!pesoValido){
                System.out.println("Deve persar mais que 50 kg.");
            }
        }
        sc.close();
    }
}
1 resposta

Oi, Antonio! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Você estruturou muito bem as condições usando variáveis booleanas para deixar o código mais legível. Também foi ótimo separar os motivos da incompatibilidade, o que melhora a clareza na resposta para a pessoa usuária.

Uma dica interessante para o futuro é usar System.out.println() em todos os prints para manter o padrão e evitar confusão nas saídas. Veja como ficaria:


if (!idadeValida){
    System.out.println("Deve ter entre 18 e 65 anos.");
}
if (!pesoValido){
    System.out.println("Deve pesar mais que 50 kg.");
}

Isso ajuda a evitar que mensagens fiquem na mesma linha, principalmente se mais de um motivo for exibido.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!