Olá, Gabriel, como vai?
O seu código atende perfeitamente aos requisitos do exercício. A lógica de encadeamento das condições if e else permite identificar com precisão qual critério de doação não foi satisfeito, garantindo que o programa forneça o feedback correto ao usuário. A utilização do objeto Scanner para capturar os dados e o fechamento do recurso com o método close demonstram boas práticas de programação em Java.
Uma dica para tornar o código ainda mais limpo é utilizar constantes para os valores fixos, como a idade mínima e o peso limite. Isso facilita futuras manutenções caso as regras de doação mudem. Por exemplo, você poderia definir uma variável final int IDADE_MINIMA = 18 e utilizá-la dentro da sua condição.
Continue praticando e compartilhando seus exercícios, pois a evolução na lógica de programação vem com essa constância.
O fórum segue à disposição para qualquer dúvida que surgir nos próximos desafios
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!