Oi, Pedro! Como vai?
Agradeço por compartilhar seu código com a comunidade Alura.
Muito interessante a forma como você não só resolveu o problema, mas também explicou o escopo de variáveis. Isso mostra um entendimento além do básico, principalmente ao identificar que a variável mensagem não pode ser acessada fora do if/else. Esse tipo de atenção faz bastante diferença na evolução.
Uma dica interessante para o futuro é usar o operador ternário para simplificar decisões simples como essa:
int idade = 17;
String mensagem = idade >= 18 ? "Maior de idade" : "Menor de idade";
System.out.println(mensagem);
Esse código define a mensagem em uma única linha com base na condição, deixando o código mais enxuto e fácil de ler.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!