Utilizei um if logo quando digita a idade, porque se for menor de 18 ou maior que 65, o programa já encerra e nem pede peso. Criei a váriavel peso em Double e permiti na regra que pessoas com 50kg possam doar, entao por isso é válido se >=50;
package IfAndElse;
import java.util.Scanner;
public class VerificarCompatibilidade {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        Integer idade;
        Double peso;
        System.out.println("Verificar compatibilidade para doação de sangue");
        System.out.println("-----------------------------------------------");
        System.out.println("Digite a idade do doador: ");
        idade = input.nextInt();
        input.nextLine();
        if(idade<18 || idade>65){
            System.out.println("O doador não é compatível.");
            System.out.println("Motivo: Deve ter entre 18 e 65 anos.");
            return;
        } else{
            System.out.println("Digite o peso do doador (em kg): ");
            peso = input.nextDouble();
            input.nextLine();
            if (peso>=50.0){
                System.out.println("O doador é compatível.");
            }
            else{
                System.out.println("O doador não é compatível");
                System.out.println("Motivo: Deve ter mais de 50kg.");
                return;
            }
        }
    }
}
 
            