Java 简单的琐事游戏比较

Java 简单的琐事游戏比较,java,Java,这个程序的输出总是指向错误的答案。我想知道如何将用户输入与getAnswer方法进行比较。我对Java相当陌生。任何一般性的建议都会很好 琐事类 import java.util.Scanner; public class Trivia { private String question; private String answer; public void setQuestion(String question) { this.question = question; } pub

这个程序的输出总是指向错误的答案。我想知道如何将用户输入与getAnswer方法进行比较。我对Java相当陌生。任何一般性的建议都会很好

琐事类

import java.util.Scanner;

public class Trivia
{
 private String question;
 private String answer;

 public void setQuestion(String question)
{
 this.question = question;
}
 public void setAnswer(String answer)
{
 this.answer = answer;
}
 public String getQuestion()
{
 return question;
}
 public String getAnswer()
{
 return answer;
}
}
主类

import java.util.Scanner;

public class TriviaTest extends Trivia
{
public static void main(String[]args)
{
Scanner keyboard = new Scanner(System.in);

TriviaTest t1 = new TriviaTest();
TriviaTest t2 = new TriviaTest();
t1.setQuestion("What is the longest river? ");
t1.setAnswer("The Amazon River");
t2.setQuestion("What is the capital of Spain?");
t2.setAnswer("Madrid");
System.out.println(t1.getQuestion());

String a = keyboard.next().toLowerCase();
String b = t1.getAnswer();
if(b.equals(a))
{
  System.out.println(" Yes! Correct! ");
}

else
{
  System.out.println(" BZZZZZZ! Wrong answer!");
}
}
}

您的实际答案有大小写字母,但您比较的值已转换为所有小写字母。keyboard.next.toLowerCase

对于这样的琐事游戏,不区分大小写的比较是您真正想要的。也可以将存储的答案转换为小写,或者存储大小写混合的答案,并与用户输入进行不区分大小写的比较String.equalsIgnoreCase

注1:基本调试的步骤1:System.out.printlna=+a+,ans=+t1.getAnswer;本来可以解决这个问题的


注2:更好的解决方案是在琐事类中添加布尔checkAnswerString answer,而不是在main中插入重要的逻辑。

调试System.out.printlna的值;请提出一个具体的问题,并明确界定问题。