Bem, o Isaque me perguntou: “Então flavio…tenho um exercicio para fazer, mas não to conseguindo
a) Escreva um programa que sorteie um número randomicamente no intervalo de 1-1000. O programa mostra uma mensagem (JLabel) – Eu tenho um número entre 1 e 1000, você pode adivinhá-lo? Entre com seu chute.
a. Um JTextField deve ser usado na captura do valor. Para cada tentativa de adivinhação a cor de fundo deve mudar ou para vermelho ou azul. Vermelho indica que o usuário está chegando mais perto e azul indica que o usuário está se afastando do número. Um JLabel deve mostrar ou “Mais Perto” ou “Mais Longe” como auxílio ao usuário.
b. Quando a resposta estiver correta, você deve mostrar a frase “Correto!” e não permitir mais a edição no JTextField.
c. Um JButton deve permitir um novo jogo.Quando o JButton é clicado, um novo número randômico deve ser gerado e o JTextField ser editável.
o Meu problema…é: como comparar as diferenças entre (numero sorteado-numero fornecido)…dos chutes…!
Então Isaque, vou te ajudar com esse problema.Fiz uma classe Main aqui com um exemplo do que você vai colocar na sua interação. Que provavelmente será um método que você ira chamar cada vez que o usuário apertar o botão. Segue abaixo:
public static void main(String[] args) {
int numero = 1 + ( int ) ( Math.random() * 1000 ); //numero randomico de 0 a 1000.
int numMemoria = numero; //essa variavel irá guardar o último número digitado.
int numDigitado = 3; // coloquei 3 como teste, mas essa variavel vai armazenar o numero que acabou de ser digitado.
if(numDigitado < numero){ //aqui verificamos se o número digitado é maior que o numero randômico.
if(numDigitado >= numMemoria && numDigitado < numero){ //aqui verificamos se o número digitado está entre o randômico e o último palpite.
System.out.println("Mais perto.");// logo estará mais perto.
}else if(numDigitado < numMemoria){//caso esteja mais longe do ultimo numero.
System.out.println("Mais Longe.");// mais longe.
}
}else if(numDigitado > numero){//aqui verificamos se o número digitado é menor que o numero randômico.
if(numDigitado <= numMemoria && numDigitado > numero){//aqui verificamos se o número digitado está entre o randômico e o último palpite.
System.out.println("Mais Perto.");//estará mais perto.
}else if(numDigitado > numMemoria){//caso esteja mais longe.
System.out.println("Mais Longe");//mais longe.
}
}else{
System.out.println("Você acertou.");// se não, o usuário acertou.
}
numMemoria = numDigitado; //então você passa o número digitado para o numero de memoria.
}
Espero que tenha te ajudado a resolver o problema. Caso contrário aguardo sua dúvida.
