1
resposta

[SOLUÇÃO]

import java.util.Random; import java.util.Scanner;

public class NewClass { public static void main(String[] args) { int tentativas = 5; int numeroadv=0; Scanner teclado = new Scanner(System.in);

    for (int i = 0; i < tentativas; i++) {
        int aleatory = new Random().nextInt(100);
        System.out.println("digite o numero adivinhado ");
        numeroadv = teclado.nextInt();
        System.out.println(" o numero gerado e "+ aleatory);
        if (numeroadv == aleatory){
            System.out.println("voce acertou");
            i = 5;
        }else {
            if (numeroadv > aleatory){
                System.out.println("errou seu numer e maior");

            }else {
                if (numeroadv < aleatory){
                    System.out.println("errou seu numero e menor");
                }
            }
        }

    }






}

}

1 resposta

Vinicius, bom dia.

Parabens cara, ficou muito bom seu codigo!

Minha unica sugestão é que no if abaixo

if (numeroadv == aleatory){
            System.out.println("voce acertou");
            i = 5;
}

Você tem como utilizar uma outra maneira de finalizar seu laço. Por exemplo:

if (numeroadv == aleatory){
            System.out.println("voce acertou");
            break;
}

Dessa maneira fica mais legivel o que está acontecendo no codigo, e não precisa ficar toda vez reescrevendo. Pois imagine que você vai dar ao Usuario 10 tentativas, você teria que alterar o codigo colocando para que i = 10 ou i = tentativas. Também utilizando o break o loop e parado imediatamente, quando você faz essa jogada de lançar a quantidade dentro do i aquele loop ainda vai rodar até o final.

Novamente parabens, continue assim e bons estudos!! :D