如果用户输入的是“外面很冷”,而不仅仅是“冷”,则程序将移动(如预期的那样)到else语句。如何在不知道用户输入的情况下运行和挑选关键字?
System.out.println("I am doing well, thank you! How's the weather today?");
String s = scan.nextLine();
if (s.equalsIgnoreCase("cold") || s.equalsIgnoreCase("freezing")) {
System.out.println("You'd better bundle up");
} else {
System.out.println("Stay cool");
}
您可以使用indexOf
如下检查关键字是否在输入中:
indexOf
尝试:
Scanner scan = new Scanner(System.in);
System.out.println("I am doing well, thank you! How's the weather today?");
String s = scan.nextLine();
if (s.indexOf("cold")>-1 || s.indexOf("freezing")>-1) {
System.out.println("You'd better bundle up");
} else {
System.out.println("Stay cool");
}
这里if (s.contains("cold") || s.contains("freezing"))
方法搜索字符串中的字符序列。如果找到char值的序列,则返回true。
[注: contains()
方法根据字符串的内容比较两个字符串,而不考虑大小写。
您需要使用contains和toLowerCase。例如:
equalsIgnoreCase