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

VerificaçãoDeCompatibilidadeDeDoaçãoDeSangue

package br.com.nadson.desafiosc2.modelo;

public class Doador {
    private String nome;
    private int idade;
    private double peso;

    public Doador(String nome, int idade, double peso) {
        this.nome = nome;
        this.idade = idade;
        this.peso = peso;
    }

    public void podeDoar() {

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

        if (idadeValida && pesoValido) {
            System.out.println(nome + " está apto para doar sangue.");
            return;
        }

        System.out.println(nome + " não está apto para doar sangue.");
        System.out.print("Motivo: ");

        if (!idadeValida) {
            System.out.println("Deve ter entre 18 e 65 anos.");
        } else if (!pesoValido) {
            System.out.println("Deve pesar mais de 50 kg.");
        }
    }
}
package br.com.nadson.desafiosc2.principal;

import br.com.nadson.desafiosc2.modelo.Doador;

import java.util.Scanner;

public class VerificaçãoDeCompatibilidadeDeDoaçãoDeSangue {
    public static void main(String[] args) {

        Scanner entrada = new Scanner(System.in);

        System.out.print("Digite o nome do doador: ");
        String nome = entrada.nextLine();

        System.out.print("Digite a idade do doador: ");
        int idade = entrada.nextInt();

        System.out.print("Digite o peso do doador (em kg): ");
        double peso = entrada.nextDouble();

        Doador doador = new Doador(nome, idade, peso);

        System.out.println();
        doador.podeDoar();

        entrada.close();
    }
}

1 resposta
solução!

Oi, Nadson! Como vai?

Com o que você descreveu, sua classe Doador ficou bem organizada e a separação da lógica em métodos deixa tudo mais claro. Gostei de como você usou as variáveis, idadeValida e pesoValido, isso facilita a leitura.

Uma dica interessante para o futuro é usar o método trim() para limpar espaços extras no nome antes de criar o objeto. Veja este exemplo:


String nome = entrada.nextLine().trim();
System.out.println(nome);

Esse código remove espaços no início e no fim da string.

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