如何让扫描仪从用户输入中选择关键字?

问题描述 投票:0回答:3

如果用户输入的是“外面很冷”,而不仅仅是“冷”,则程序将移动(如预期的那样)到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");
        }   
java string java.util.scanner
3个回答
0
投票

您可以使用indexOf如下检查关键字是否在输入中:

indexOf

0
投票

尝试:

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()方法根据字符串的内容比较两个字符串,而不考虑大小写。


0
投票

您需要使用contains和toLowerCase。例如:

equalsIgnoreCase
© www.soinside.com 2019 - 2024. All rights reserved.