【发布时间】:2015-02-08 19:16:28
【问题描述】:
所以我对 Java 和一般编码非常陌生。我被要求编写一个程序,询问用户一个谜语并以“正确!”作为回应。或“错了!”取决于答案。我认为if else if 语句可以解决问题,但它没有返回所需的结果。答案"man" 或"a man" 都被认为是正确的(并且大小写无关紧要,例如“mAn”仍然是正确的,但“man!”不会)。
import java.util.Scanner;
public class HW3 {
public static void main(String[] args) {
System.out.print("What walks on four legs in the morning, two legs in the afternoon, and three legs in the evening? ");
Scanner input = new Scanner(System.in);
String Answer = input.next();
if(Answer.equals("man"))
System.out.println("Correct!");
else
System.out.println("Wrong!");
if (Answer.equals("a man"))
System.out.println("Correct!");
else
System.out.println("Wrong!");
}
}
【问题讨论】:
-
您的一个问题可能是
input.next()只检索一个单词。因此,如果用户键入"a man",则变量将设置为"a"。您需要改用input.nextLine()。您可能还想考虑在同一行中同时使用else和if。 -
如果大小写无关紧要,您应该使用
String.equalsIgnoreCase()。 -
你研究过布尔运算
||(或)了吗?你有研究过else if吗?
标签: java string if-statement input