【问题标题】:.nextLine() versus .next()?.nextLine() 与 .next()?
【发布时间】:2013-12-24 09:35:36
【问题描述】:

感谢您的宝贵时间,

我已经编写了一个月的代码,有几次我遇到了关于 nextLine 的问题:

        gen = sc.nextLine();
        ge = gen.charAt(0);

在这种情况下,有一个问题,因为从我读到的“nextLine() 方法扫描当前行上的所有内容,然后将指针移过该行。因此,当您调用 charAt() 方法时,您正在调用它在下一行,即空白处,因此发生错误。”

我的问题是,如果nextLine 可能会导致这种问题,那么使用它有什么意义呢?我可以简单地输入.next() 让它工作。

【问题讨论】:

  • gen.charAt(0) 与 NextLine 的推进没有任何关系——它访问 gen 中的第一个 (0th) 字符,这是已读取行的表示。

标签: java java.util.scanner next


【解决方案1】:

正如 Jim 在评论中所说,charAt(0)next()nextLine() 无关。 charAt(0) 正在从String 读取Scanner,而不是直接从Scanner 本身读取。

因此,指针所在的位置(据我所知)与charAt(0) 正在读取的内容没有区别。希望这能澄清一点。

【讨论】:

    猜你喜欢
    • 2019-03-19
    • 2020-11-14
    • 2012-02-11
    • 2016-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-11
    相关资源
    最近更新 更多