Olá, André, como vai?
O seu código apresenta a lógica inicial correta para a captura de dados e o sorteio do número, porém, o uso da instrução break fora de um bloco condicional específico interrompe o laço de repetição logo após a primeira tentativa, independentemente do resultado. Outro ponto importante é a estrutura das verificações condicionais, pois o uso de um if isolado após um else if faz com que o programa execute testes desnecessários ou ignore a lógica de encadeamento pretendida.
Para que o jogo funcione conforme o esperado, o break deve ser utilizado apenas quando o usuário acertar o número, e as condições de maior ou menor devem estar devidamente conectadas. Uma boa prática em Java é organizar as condicionais utilizando if, else if e else para garantir que apenas um bloco de código seja executado por rodada.
if (tentativa == numeroSecreto) {
System.out.println("Acertou");
break;
} else if (tentativa > numeroSecreto) {
System.out.println("Menor");
} else {
System.out.println("Maior");
}
Parabéns por praticar os conceitos de controle de fluxo e entrada de dados. Continue compartilhando suas resoluções para fortalecer seu aprendizado.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!