Olá Maria! Como vai?
O seu programa está quase lá, mas precisa de um pequeno ajuste para informar corretamente qual critério não foi atendido quando o doador não é compatível. Você pode adicionar verificações adicionais dentro do bloco else
para identificar qual critério específico não foi atendido. Aqui está uma sugestão de como você pode modificar seu código:
import java.util.Scanner;
public class VerificaDoador {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Digite a idade: ");
int idadePermitida = scanner.nextInt();
System.out.println("Digite o peso: ");
double pesoValido = scanner.nextDouble();
if (idadePermitida >= 18 && idadePermitida <= 65 && pesoValido > 50) {
System.out.println("Você pode ser sim um doador de sangue.");
} else {
System.out.println("Não pode ser doador!");
if (idadePermitida < 18 || idadePermitida > 65) {
System.out.println("Motivo: Deve ter entre 18 e 65 anos.");
}
if (pesoValido <= 50) {
System.out.println("Motivo: Deve pesar mais de 50 kg.");
}
}
}
}
Com essas modificações, o programa agora verifica individualmente cada critério e informa qual deles não foi atendido. Por exemplo, se a idade estiver fora do intervalo e o peso for insuficiente, ele informará ambos os motivos.
Bons estudos!