如何将条件语句与 Java 扫描器一起使用



是否可以在scanner.nextLine().equals(...)的参数中使用和/或语句,例如在下面

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

谢谢

要做||你可以做

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

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

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

nextLine没有

参数,因此您无法执行 或 nextLine 的参数。但是,nextLine 返回一个String,并且它有一个接受参数的equals方法。此外,彼得·劳里是对的:你想实现

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
}

最新更新