Oi, Estudante!
Seu raciocínio lógico está correto! Você entendeu perfeitamente como capturar a entrada antes do loop e atualizá-la no final dele para evitar um loop infinito. Isso é ótimo.
- Evitando repetição de código (DRY)
Note que você precisou escrever as linhas de System.out.println e leitura.next() duas vezes (uma antes do while e outra dentro dele).
- Dica: O modelo que o instrutor usou (
while(true) com break) é muito comum justamente para não precisarmos repetir essas linhas. Você entra no loop, pede o dado e, se for "fim", você quebra o ciclo. Isso deixa o código mais limpo.
- Tratamento de entrada (
next vs nextLine)
Você usou leitura.next(). Embora funcione para palavras únicas, o next() às vezes deixa "sujeira" (como o "Enter") no buffer do teclado, o que pode dar dor de cabeça em programas maiores.
- Sugestão: Prefira usar
leitura.nextLine(). Ele lê a linha inteira e garante que o "Enter" foi consumido.
Continue firme nos estudos.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!