Ajuda com algoritimo em java if else entre dois valores


Preciso fazer esse exercicio em java, só que não estou conseguindo fazer entre 18 a 21 ele não mostra a mensagem de confirmação.

import javax.swing.JOptionPane;
public class idadea {

    public static void main(String args[]) {
        int idade;
        
        idade = Integer.parseInt(JOptionPane.showInputDialog(null,"Digite sua idade"));
        
     if (idade < 16) {
	JOptionPane.showMessageDialog(null,"Parabens, você é muito jovem");
}    else if (idade == 16 && idade == 17) {
    JOptionPane.showMessageDialog(null,"Parabens, você já pode votar.");
	
}    else if (idade == 18 && idade == 19 && idade == 20 && idade == 21) {
	JOptionPane.showMessageDialog(null,"Parabens, você já pode votar e tirar carteira de motorista");
        
            }else if (idade > 21) {
	JOptionPane.showMessageDialog(null,"Parabens, você já esta ficando experiente.");
    }
}        
}        

Teriam como me ajudar ? eu pensei em fazer usando if e else.
como que faço pra fazer ele ler de um numero a outro numero ?

Você precisa combinar junto com a estrutura de decisão os operadores lógicos e relacionais.

Exemplo:

If (idade > 21) {
// Faz algo nesse critério
}elseif (idade >= 18 && idade <= 21) {
// Faz algo nesse critério
}

1 curtida

Qual é o número que é simultaneamente igual à 16 E igual à 17?

Qual é o número que é simultaneamente igual à 18 E igual à 19 E igual às 20 E igual à 21?