java.util.Scanner 拒绝接受下一个(或任何)输入
java.util.Scanner refuses to take the next (or any) input
当前错误消息“找不到符号:扫描仪类型的变量输入中的变量 nextLine”
最终它会做更多的事情,但我什至不明白为什么它不能读取...所以可能需要一点时间 XD
到目前为止的方法:
public static void flipCoins(Scanner input)
{
ArrayList<String> lines = new ArrayList<>();
while(input.hasNextLine())
{
lines.add(input.nextLine);
// WHERE THE ERROR OCCURS
}
System.out.print(lines.toString());
}
这些是我一直在尝试调试的链接:
整个扫描器class:https://www.tutorialspoint.com/java/util/java_util_scanner.htm
.next() 特别是:https://www.tutorialspoint.com/java/util/scanner_next.htm
编辑更多
我也收到此错误:“无法找到符号:扫描仪类型的变量输入中的下一个变量”,错误如下:
lines.add(input.next);
你把事情搞得比实际复杂得多。
在java中,方法调用必须以括号结束;他们不是可选的。方法和字段具有单独的命名空间 - input.next
,没有括号,是字段引用(所以“但是为什么语言不添加它!”是 non-starter,它不会向后兼容).
只需将 input.next
替换为 input.next()
,并将 input.nextLine
替换为 input.nextLine()
。
您缺少括号“()”,nextLine() 是一个函数,在 java 中调用函数时我们需要在函数名称后加上括号才能调用函数。类似于您在此处所做的
while(input.hasNextLine())
这会起作用
public static void flipCoins(Scanner input)
{
ArrayList<String> lines = new ArrayList<>();
while(input.hasNextLine())
{
lines.add(input.nextLine());
}
System.out.print(lines.toString());
}
来电
lines.add(input.nextLine);
在 .nextLine() 的末尾需要 ( ) 因为它是 Scanner [=22= 中的无效方法].它甚至可以(但通常不应该)被重写:
String input = new Scanner(file).nextLine();
因为它本质上只是 Scanner 对象的一部分。
当前错误消息“找不到符号:扫描仪类型的变量输入中的变量 nextLine”
最终它会做更多的事情,但我什至不明白为什么它不能读取...所以可能需要一点时间 XD
到目前为止的方法:
public static void flipCoins(Scanner input)
{
ArrayList<String> lines = new ArrayList<>();
while(input.hasNextLine())
{
lines.add(input.nextLine);
// WHERE THE ERROR OCCURS
}
System.out.print(lines.toString());
}
这些是我一直在尝试调试的链接:
整个扫描器class:https://www.tutorialspoint.com/java/util/java_util_scanner.htm
.next() 特别是:https://www.tutorialspoint.com/java/util/scanner_next.htm
编辑更多
我也收到此错误:“无法找到符号:扫描仪类型的变量输入中的下一个变量”,错误如下:
lines.add(input.next);
你把事情搞得比实际复杂得多。
在java中,方法调用必须以括号结束;他们不是可选的。方法和字段具有单独的命名空间 - input.next
,没有括号,是字段引用(所以“但是为什么语言不添加它!”是 non-starter,它不会向后兼容).
只需将 input.next
替换为 input.next()
,并将 input.nextLine
替换为 input.nextLine()
。
您缺少括号“()”,nextLine() 是一个函数,在 java 中调用函数时我们需要在函数名称后加上括号才能调用函数。类似于您在此处所做的
while(input.hasNextLine())
这会起作用
public static void flipCoins(Scanner input)
{
ArrayList<String> lines = new ArrayList<>();
while(input.hasNextLine())
{
lines.add(input.nextLine());
}
System.out.print(lines.toString());
}
来电
lines.add(input.nextLine);
在 .nextLine() 的末尾需要 ( ) 因为它是 Scanner [=22= 中的无效方法].它甚至可以(但通常不应该)被重写:
String input = new Scanner(file).nextLine();
因为它本质上只是 Scanner 对象的一部分。