Попытка выяснить, как напечатать итоговую оценку всех правильных ответов, довольно простой, также пытаясь включить логическую функцию повтора, чтобы я мог попросить пользователя либо "снова сыграть", либо "выйти".
import java.util.Scanner;
import java.util.Random;
public class GameVer1 {
public static void main(String []args) {
String inputName;
System.out.print("Enter your name here...");
inputName = userInput.nextLine();
System.out.print("Hi "+ inputName + ", Welcome!");
//boolean repeat = true;
int tries = 0;
int score = 0;
int count = 0;
do{
Scanner userInput = new Scanner(System.in);
Random randomNumberChooser = new Random();
int ranNum1;
ranNum1 = randomNumberChooser.nextInt(12)+2;
int ranNum2;
ranNum2 = randomNumberChooser.nextInt(12)+2;
int response = (ranNum1 * ranNum2);
String question;
System.out.println("How much is " + ranNum1 +" x " + ranNum2 + "?");
question = userInput.next();
tries = tries + 1;
if(userInput == response){
System.out.print("Correct!");
userInput = response;
count = count + 1;
}
}while(tries <10);
}
}
Вам нужно будет сначала преобразовать вход в int
для сравнения, например:
int num = userInput.nextInt();
Затем вы сможете сравнить if (num == response) {
и вы больше не получите ошибку.
РЕДАКТИРОВАТЬ
Кроме того, насколько я могу судить, вы можете удалить строку userInput = response;
так как это также даст вам ошибку, но даже в этом случае userInput
снова читается на следующей итерации цикла.