Boa tarde Srs, peço a colaboração para uma dúvida. No programa abaixo, o usuário responde qual o resultado da operação de multiplicação solicitado(os valores são randômicos). Se a resposta estiver correta o aplicativo pergunta se quer continuar. O meu problema é quando a resposta estiver errada. Como faço para repetir os mesmos números da pergunta em que ele errou ?
import java.util.Random;
import java.util.Scanner;
public class TestaMultiplicacao
{
int num1, num2;
Random numeroRandomico = new Random();
int resposta;
boolean continua = true;
String avalia;
public void lancaPergunta()
{
Scanner entrada = new Scanner(System.in);
Scanner opcao = new Scanner(System.in);
while( continua )
{
int respP = 1 + numeroRandomico.nextInt( 4 );
int respN = 5 + numeroRandomico.nextInt( 4 );
System.out.printf("Quanto é %d multiplicado por %d ? ", num1 = 1 + numeroRandomico.nextInt(11), num2 = 1 + numeroRandomico.nextInt(11));
resposta = entrada.nextInt();
if( resposta == num1 * num2 )
{
switch( respP )
{
case 1:
System.out.println("Muito bom!");
break;
case 2:
System.out.println("Excelente!");
break;
case 3:
System.out.println("Bom trabalho!");
break;
case 4:
System.out.println("Continue o bom trabalho");
break;
default:
}
System.out.print("Deseja continuar( S = sim / N = não ) ? ");
avalia = opcao.nextLine();
if( avalia.equalsIgnoreCase("n"))
continua = false;
}
if( resposta != num1 * num2 )
{
switch( respN )
{
case 5:
System.out.println("Não. Tente de novo");
break;
case 6:
System.out.println("Errado. Tente mais uma vez.");
break;
case 7:
System.out.println("Não desista!");
break;
case 8:
System.out.println("Nao. Continue tentando!");
break;
default:
}
}
}
}
}
public class TestaMultiplicacaoTeste
{
public static void main(String[] args)
{
TestaMultiplicacao executa = new TestaMultiplicacao();
executa.lancaPergunta();
}
}
Grato,
Paulo