Java 简单的琐事游戏比较
这个程序的输出总是指向错误的答案。我想知道如何将用户输入与getAnswer方法进行比较。我对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
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的值;请提出一个具体的问题,并明确界定问题。