0

在我下面的一段代码中,我希望比较一段文本文件。但是,出于某种原因,无论用户在值中键入什么内容都是正确的。

我试图比较该值,而不用担心它的大小写或任何前导或尾随空格。

// Display the question to the user
System.out.println("Question: " + myList.get(random1));

// Accept user input
System.out.print("Please type your answer: ");

// Store the user answer in a variable but lowercase
answer = scanner.nextLine().toLowerCase();
System.out.println();

// Display the officially correct answer from the arraylist
System.out.println("Answer: " + myList.get(random1 +1));

// if the user answer matches the official answer, tell them they're
// correct and award points
// else tell them they suck LOL
if(myList.get(random1 + 1).contains(answer) == false) {
    System.out.println("Correct!");
    totalScore = totalScore + awardedPoints;
    System.out.println("You won " + awardedPoints);
}
else {
    System.out.println("You suckkkkkkk");
}

// Display total accumulated points
System.out.println("Your total points are: " + totalScore);

// Wait for user to hit any key before displaying the next question
System.out.print("Hit Enter");
scanner.nextLine();
4

1 回答 1

1

尝试这个。

// Display the officially correct answer from the arraylist
String correctAnswer =  myList.get(random1 +1); 
System.out.println("Answer: " + correctAnswer); // Instead use a variable

// if the user answer matches the official answer, tell them they're
// correct and award points
// else tell them they suck LOL
if(correctAnswer.equalIgnoreCase(answer)) { // efficient than contains() method
    System.out.println("Correct!");
    totalScore = totalScore + awardedPoints;
    System.out.println("You won " + awardedPoints);
}
else {
    System.out.println("You suckkkkkkk");
}
于 2013-09-26T01:29:16.700 回答