No código abaixo onde executa um programinha tipo calculadora onde o programa aleatoriamente leva probleminhas de aritmética para o usuário responder.
Se usuário responde correto recebe mensagem de parabéns, caso contrário deve continuar tentando.
Já tinha postado esse programinha aqui no guj mas como int (um dígito) agora o programinha deve ler e responder em ponto flutuante.
Tentei fazer mas está dando erro de lógica, não sei qual o erro e ainda não aprendi a mexer com big decimal. Veja o código :
import java.util.Scanner;
public class CalculaPontoFlutuante
{
public static void main ( String args[] )
{
int escolha;
double num1, num2, numero1, numero2, number1, number2, suaResposta;
double respostaAtual = 0;
Scanner scan = new Scanner ( System.in );
do
{
System.out.println("\n\n-1 - Sair\n 1 - Somar\n 2 - Subtrair\n 3 - Multiplicar\n 4 - Dividir");
System.out.print("\n\nEscolha uma escolhaeracao: ");
escolha = scan.nextInt();
if(escolha==-1){
System.exit(0);
}
num1 = (Math.random() * 9 +1);
num2 = (Math.random() * 9 +1);
numero1= (Math.random() *1000);
numero2= (Math.random() *1000);
number1= (Math.random()*100);
number2= (Math.random()*100);
switch(escolha)
{
case 1:
{
System.out.printf("Quanto é %.1f+ %.1f\n",numero1,numero2);
respostaAtual=numero1+numero2;
break;
}
case 2:
{
System.out.printf("Quanto é %.1f- %.1f\n",numero1,numero2);
respostaAtual=numero1-numero2;
break;
}
case 3:
{
System.out.printf("Quanto é %.1fx %.1f\n",num1,num2);
respostaAtual=num1*num2;
break;
}
case 4:
{
System.out.printf("Quanto é %.1f/ %.1f\n",number1,number2);
respostaAtual=number1/number2;
break;
}
}
System.out.printf("Insira a resposta: ");
suaResposta = scan.nextDouble();
while(suaResposta!=respostaAtual) {
System.out.printf("Resposta errada. Digite novamente a resposta\n");
System.out.printf("Insira a resposta: ");
suaResposta = scan.nextDouble();
if (suaResposta==respostaAtual){
System.out.printf("Parabéns, você acertou\n");
}
}
}
while(escolha != -1);
}
}
Outra pergunta boba, tem como remover um tópico caso por exemplo ninguém respondeu.