代码之家  ›  专栏  ›  技术社区  ›  Kemper Lee

JAVAutil。扫描仪拒绝接受下一个(或任何)输入(已解决)

  •  -1
  • Kemper Lee  · 技术社区  · 2 年前

    " 你忘了括号了吗。nextLine()。下一个() “实验单元1998X

    " nextLine()是一个函数,在java中调用函数时,我们需要在函数名后加括号来调用函数。 “bhawesh agrawal”

    当前错误消息 “在扫描仪类型的变量输入中找不到符号:变量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());
    }
    

    以下是我一直试图调试的链接:

    整个扫描仪类 : https://www.tutorialspoint.com/java/util/java_util_scanner.htm

    .下一步 : https://www.tutorialspoint.com/java/util/scanner_next.htm

    编辑以获取更多信息

    我也收到了这个错误: 在扫描器类型的变量输入中找不到symbol:变量next “,包括以下内容:

    lines.add(input.next);
    
    3 回复  |  直到 2 年前
        1
  •  1
  •   bhawesh agrawal    2 年前

    缺少括号“()”,在java中调用函数时,nextLine()是一个函数。我们需要在函数名后加括号来调用函数。和你在这里做的一样

    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());
    }
    
        2
  •  1
  •   rzwitserloot    2 年前

    你把事情弄得比实际情况复杂得多。

    在java中,方法调用 必须 以括号结束;它们不是可选的。方法和字段有单独的名称空间- input.next ,没有paren,是一个字段引用(所以“但是语言为什么不添加它!”是一个非初学者,它不会向后兼容)。

    替换 输入下一个 具有 input.next() input.nextLine 具有 input.nextLine() .

        3
  •  0
  •   Kemper Lee    2 年前

    电话

    lines.add(input.nextLine);
    

    需要 ( ) 最后 .nextLine() 因为它是Scanner类中的一个void方法。它甚至可以(但通常不应该)重写:

    String input = new Scanner(file).nextLine();
    

    因为它本质上只是扫描仪对象的一部分。