Aqui está a solução que usei para o desafio, Coloquei o valor 100 e 5 tentativas, li algo parecido em um livro há um tempo atrás, sobre divisão e conquista, e busca binária, no livro "Entendendo Algoritmos", onde diz para dividir o intervalo de busca pela metade, em cada tentativa. Começo: Metade do valor total (50) Segunda etapa: Se o valor aleatório for maior que 50, chutar a metade do valor entre 50 e 100 (75) Segunda etapa: Se o valor aleatório for menor que 50, chutar a metade do valor entre 50 e 0 (25) Terceira etapa: Seguir a mesma idéia até acertar sempre dividindo pela metade as buscas. O número máximo de tentativas para encontrar um número em um intervalo de 1 a N é dado por: log2N (No exemplo até 100: log2 100 = 6,64 aproximando para 7 tentantivas)
import java.util.Random;
import java.util.Scanner;
public class OutroLoop {
public static void main(String[] args) {
Scanner leitura = new Scanner(System.in);
int numeroAleatorio = new Random().nextInt(100);
for (int i = 0; i <= 5; i++) {
System.out.println("Tente acertar o valor aleatório. ");
int resposta = leitura.nextInt();
if (resposta == numeroAleatorio) {
System.out.println("Acertou o número!");
break;
} else if (resposta > numeroAleatorio) {
System.out.println("Tente um número mais baixo!");
} else {
System.out.println("Tente um número mais alto!");
}
};
System.out.println("Fim de jogo!");
System.out.println("O valor era: " + numeroAleatorio);
}
}