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 ifeelse. - 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
- Declaramos a variável
idadecom o valor 15. - O primeiro
ifverifica seidade < 12. Como 15 não é menor que 12, o bloco é ignorado. - O
else iftestaidade <= 17. Como 15 é menor ou igual a 17, o bloco é executado. - O
elsefinal só seria executado se nenhuma condição anterior fosse verdadeira. - 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
elsefinal: se a idade for 18, nada seria impresso. Corrija comelse. - Usar
==em vez de=:if (idade = 12)causa erro de compilação. Use==para comparação. - Ordem errada das condições: se testar
idade <= 17antes deidade < 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