【问题标题】:How to use conditional statements with Java scanner如何在 Java 扫描器中使用条件语句
【发布时间】:2015-02-24 08:00:48
【问题描述】:

scanner.nextLine().equals(...)的参数中是否可以使用and/or语句,如下图

scanner.nextLine().equals(x || a) or scanner.nextLine().equals(x && a) ? 

谢谢

【问题讨论】:

  • 为什么不先自己使用和测试,如果您对输出感到奇怪,请告诉我们:)

标签: java conditional


【解决方案1】:

要做||你可以做

String line = scanner.nextLine();
if (line.equals(x) || line.equals(a)) {

&& 没有意义,除非x.equals(a) 在这种情况下您可以将其与x 进行比较

【讨论】:

    【解决方案2】:

    Scanner.nextLine() 返回一个字符串,因此您可以执行通常可以对字符串执行的所有操作。但是,正如您所说,您不能拥有 nextLine 函数的参数,如nextLine(something)

    【讨论】:

      【解决方案3】:

      nextLine 没有参数,因此您无法在nextLine 的参数上执行或操作。但是,nextLine 返回一个String,它有一个equals 方法,它接受一个参数。另外,Peter Lawrey 是对的:你想要实现

      String line = scanner.nextLine();
      if (line.equals(x) || line.equals(a)) {
      

      如果你想简化它,你可以通过创建一个数组来简化它,像这样:

      String[] valuesToCheck = {x, a};
      

      稍后您可以检查scanner.nextLine() 是否匹配任何值:

      if (valuesToCheck.indexOf(scanner.nextLine()) >= 0) {
          //it matched at least an element
      } else {
          //it did not match any element
      }
      

      【讨论】:

        猜你喜欢
        • 2011-10-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-12
        • 1970-01-01
        • 1970-01-01
        • 2013-06-23
        相关资源
        最近更新 更多