Quero fazer um pequeno programa sem swing somente comando.
Uma pergunta por exemplo "Quanto é 5 + 5 " e o usuário ira digitar a
resposta, caso ele acerte mostra a mensagem “você acertou” caso
negativo “você errou, tente novamente” , acho que nesse caso usaria o
se/else para fazer isso né? com intervalos de valores. E como faço para
não dar erro de string para int no Scanner, nesse caso da resposta do usuário, Integer.parseInt mas onde? e para complicar preciso ter uma variável de placar de pontuação, caso
acerte acumula 1 ponto caso erre perde 1 ponto. Preciso apenas um
exemplo, uma base de código inicial para poder seguir em frente.
Agradeço a ajuda que vier.
Você pode ler a resposta como String:
String resposta = scanner.nextLine();
e depois tentar converter a resposta para inteiro:
try{ int resultado = Integer.parseInt(resposta); //comandos para se o usuário digitou valor inválido }catch(Exception e) { System.out.println("Resposta inválida!");
Com isso, se o usuário digitasse um valor inválido, ao tentar fazer a conversão com parseInt, se o valor fosse inválido, a execução passaria diretamente para o bloco catch, aí você poderia tratar esse erro de inserção do usuário. Caso contrário(se o usuário digitou valor válido), o programa executaria aquilo que está abaixo da linha que faz a conversão e aí você poderia colocar a lógica e os comandos para verificar se a resposta for correta ou não.
Espero ter ajudado.
Vlw Gilmar,
ajudou muito, só estou agora quebrando a cabeça na pontuação para cada pergunta, usei uma variavel e nas respostas fiz concatenação com a variavel e usando o operador de incremento e decremento, só que o valor não acumula na próxima pergunta quando inicio todo o if/else novamente. Por exemplo fiz uma pergunta e acertou e ganhou 1 ponto e mostra na tela, na próxima pergunta se acertar já soma +1 com o resultado anterior sendo negativo ou positivo e assim vai somando a cada questão.