【问题标题】:Java - Multiple accepted inputs"Java - 多个接受的输入"
【发布时间】:2016-01-01 14:31:33
【问题描述】:

我只是好奇您将如何接受 Java 中的多个输入,根据我的尝试,您无法使用逻辑 OR 运算符 ||

因此,如果我希望 IF 语句接受多个接受的输入,我该怎么做? if (userinput.equalsIgnoreCase("House" || "Home")) 如何在不创建 else 语句的情况下让 House 和 Home 都激活它?

【问题讨论】:

    标签: java if-statement operators logical-or


    【解决方案1】:

    如果您需要匹配许多预定义的值,您可以事先创建一个允许值列表(在固定大小写下),然后简单地使用List.contains() 来断言正确的输入:

    final List<String> validValues = Arrays.asList("HOUSE", "HOME", "CASA");
    
    if (validValues.contains(userInput.toUpperCase())) {
      // do something
    }
    

    【讨论】:

    • 正如@vikasn91 所说,使用 Switch case 会很好,你认为这比使用 switch case 更好吗?
    • 是的。 switch-case 对于用多个 else ifs 替换 if 子句很有用,但在需要替换单个 if 子句时可读性不强。您可以尝试两种选择,看看哪一种感觉更好。
    【解决方案2】:

    使用

    if((userinput.equalsIgnoreCase("House")) || (userinput.equalsIgnoreCase("Home")))
    

    【讨论】:

    • 非常感谢!我以为我走在正确的轨道上,我想我只是没有以正确的方式接近它。我可以多次(无限期地?)使用它来添加各种不同的组合,例如。为此,我可以使用 House、Home、Casa、Haus、Dwelling 等?
    • 如果有很多输入并且所有输入都被类似处理,则使用 Switch case,然后使用下降 case 语句(在这种情况下,您不会在每个 case 之后添加 break 语句)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-24
    • 2014-01-24
    • 1970-01-01
    • 1970-01-01
    • 2014-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多