这是我的第一段代码,我的主类。我已经创建了问题数组和对象,这只是为了向大家展示我正在尝试完成的工作。

for(int i = 0; i<questionArray.length; i++)
{
  questionArray[i].askQuestion();
  questionArray[i].getAnswer();
  questionArray[i].checkAnswer();
}


这些是我在上面的循环中使用的方法:

public void askQuestion()
{
   System.out.println(question);
   System.out.println("This question is worth " + pointValue + " point(s)");
   System.out.println("Please enter your answer: ");
}

public String getAnswer()
{
    return answer;
}

public boolean checkAnswer()
{
  Scanner keyboard = new Scanner(System.in);
  String UserAnswer = keyboard.nextLine();
  if (UserAnswer.equalsIgnoreCase(answer))
  {
    System.out.println("congratulations you have earned " + pointValue + " point(s)\n");
    return true;
  }
  else
  {
    System.out.println("sorry you did not get the answer correct");
    System.out.println("The correct answer is " + this.answer + "\n");
    return false;
  }
}


如您所见,这是一个TriviaGame类,
1.)我正在尝试制作两种方法,一种能够在每个问题后显示pointValue(仅当用户回答==回答时)。
2)第二个是在用户正确获得答案后将每个pointValue相加(同样,当答案相等时。也称为checkAnswer == true),并在最后显示所有结果。

最佳答案

你的意思是:

 int score += pointValue; // note the plus (+)



顺便说一句,考虑将if (checkAnswer() == true)更改为if (checkAnswer())

07-24 18:48