Olá, Guilherme! Parabéns pelo seu código!
Respondendo direto: o tamanho do seu código está ótimo! A sua lógica está certinha e fácil de ler. No entanto, para que o programa rode sem erros e siga as boas práticas do Java, sugiro apenas 3 ajustes rápidos:
Corrija o método principal: Para o Java reconhecer o início do programa, a assinatura precisa estar completa: public static void main(String[] args).
Mova o Scanner para fora do loop: Coloque a criação do Scanner antes do while. Criá-lo lá dentro faz o Java gastar memória à toa a cada repetição.
Simplifique as variáveis: Você pode declarar e atribuir o valor na mesma linha: int tentativas = 0;.
Veja como fica o código otimizado (também ajustei o nome da classe para começar com letra Maiúscula, que é o padrão no Java):
import java.util.Random;
import java.util.Scanner;
public class NumeroAleatorio {
public static void main(String[] args) { // 1. Assinatura corrigida
int tentativas = 0; // 3. Variável simplificada
int numeroGerado = new Random().nextInt(100);
System.out.println(numeroGerado);
Scanner leitor = new Scanner(System.in); // 2. Scanner criado UMA vez fora do loop
while (tentativas < 5) {
tentativas++;
System.out.println("Coloque seu chute:");
int chute = leitor.nextInt();
if (chute == numeroGerado) {
System.out.println("Acertou!");
break;
} else if (chute < numeroGerado) {
System.out.println("Seu chute é menor");
} else {
System.out.println("Seu chute é maior");
}
}
leitor.close(); // Boa prática: fechar o Scanner no final
}
}
Não se preocupe em fazer o código mais curto, mas sim em deixá-lo claro. Você está no caminho certo. Bons estudos!