是否可以在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
}