Fácil Java

Classificação por idade

Enunciado

Escreva um programa que leia uma idade (int) e imprima "Criança" se for menor que 12, "Adolescente" se estiver entre 12 e 17 (inclusive), e "Adulto" se for 18 ou mais. Use if, else if e else.

Requisitos

  • Usar if, else if e else.
  • Imprimir exatamente as palavras: Criança, Adolescente ou Adulto.
  • Considerar a idade como um valor inteiro fixo no código (ex.: 15).

Código inicial

public class ClassificaIdade {
    public static void main(String[] args) {
        int idade = 15;
        // Complete com if/else if/else
    }
}

Saída esperada

Adolescente
Ver dica

Use if (idade < 12), depois else if (idade <= 17) e por fim else.

Mostrar solução
public class ClassificaIdade {
    public static void main(String[] args) {
        int idade = 15;
        if (idade < 12) {
            System.out.println("Criança");
        } else if (idade <= 17) {
            System.out.println("Adolescente");
        } else {
            System.out.println("Adulto");
        }
    }
}

Passo a passo

  1. Declaramos a variável idade com o valor 15.
  2. O primeiro if verifica se idade < 12. Como 15 não é menor que 12, o bloco é ignorado.
  3. O else if testa idade <= 17. Como 15 é menor ou igual a 17, o bloco é executado.
  4. O else final só seria executado se nenhuma condição anterior fosse verdadeira.
  5. O programa imprime "Adolescente".

Por que funciona

A estrutura if/else if/else avalia as condições em ordem. Assim que uma é verdadeira, as demais são ignoradas. Isso garante que apenas uma mensagem seja impressa.

Erros comuns

  • Esquecer o else final: se a idade for 18, nada seria impresso. Corrija com else.
  • Usar == em vez de =: if (idade = 12) causa erro de compilação. Use == para comparação.
  • Ordem errada das condições: se testar idade <= 17 antes de idade < 12, uma criança de 10 anos cairia no segundo caso. Mantenha a ordem crescente.

Outra forma de resolver

Usar switch com padrões (Java 17+):

String categoria = switch (idade) {
    case Integer i when i < 12 -> "Criança";
    case Integer i when i <= 17 -> "Adolescente";
    default -> "Adulto";
};
System.out.println(categoria);

Essa forma é útil quando há muitos intervalos, mas é menos legível para poucos casos.

Saída esperada

Adolescente