Olá Daniel, tudo bem com você?
Fico feliz em ler sua postagem e acompanhar sua evolução no mundo Java.
A título de curiosidade, uma boa prática é definir uma variável para guardar o valor das constantes através da cláusula final
- neste caso a constante é o número de tentativas. Dessa forma, se você quiser alterar este valor, você precisará modificar apenas uma linha de código. E, além disso, auxilia na legibilidade, uma vez que fica mais claro o que estes números significam, por exemplo:
final int MAX_TENTATIVAS
for (int i = 1; i <= MAX_TENTATIVAS; i++)
if (tentativas == MAX_TENTATIVAS)
Outra possibilidade de melhoria, é validar a entrada, ou seja, garantir que o usuário insira apenas números válidos. Por exemplo, se o usuário inserir uma letra em vez de um número, pode ocorrer uma exceção. Você pode usar a função sc.hasNextInt()
para verificar se a entrada é um número antes de chamar sc.nextInt()
.
Com essas pequenas alterações, seu código ficará ainda melhor: legível e fácil de manter. Segue o código completo após as alterações:
import java.util.Random;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
final int MAX_TENTATIVAS = 5;
Scanner sc = new Scanner(System.in);
int tentativas = 0;
int numero = 0;
int numeroAleatorio = new Random().nextInt(100);
for (int i = 1; i <= MAX_TENTATIVAS; i++) {
System.out.println("Qual o número?");
if (sc.hasNextInt()){
numero = sc.nextInt();
if (numero == numeroAleatorio) {
System.out.println("Você acertou! O numero era " + numeroAleatorio + " e você tentou " + tentativas + " vezes!");
break;
} else if (numero > numeroAleatorio) {
System.out.println("O número é menor!");
} else if (numero < numeroAleatorio) {
System.out.println("O número é maior!");
}
}else {
System.out.println("Entrada inválida! Você perdeu uma chance. Por favor, insira um número inteiro.");
sc.next(); // Descarta a entrada inválida
}
tentativas++;
}
if (tentativas == MAX_TENTATIVAS) {
System.out.println("Você errou! O numero era " + numeroAleatorio + " e você tentou " + tentativas + " vezes!");
}
sc.close();
}
}
Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.
Em caso de dúvidas estou à disposição.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!