java.util.Scanner对象如何响应空白字符?具体来说,如果文本文件中的下一个字符是换行符或空格,Scanner.next()将返回换行符或空格,还是返回下一个非空白字符?并且,如果仅空白字符保留在文件中,Scanner.hasNext()会返回true还是false?该文档提到它只选择“完整令牌”,但是我不确定这意味着什么。
您可以使用hasNextLine()和nextLine()方法来捕获仅包含空格的行。
全部与光标的位置有关,next()方法在读取输入后将光标放置在同一行上,而nextLine()在读取给定的输入后将光标放置在下一行上。
本文非常清楚地解释了这种差异,希望也能回答您的问题。
https://www.javaartifacts.com/difference-next-nextline/
扫描程序将其输入分解为令牌,默认的分隔符为空格。因此,如果您想自定义此默认定界符并使用自己的定界符(例如,逗号),则可以在扫描仪类对象上调用以下方法:
s.useDelimiter(“,”);
有关更多信息,请参考以下文档:
https://docs.oracle.com/javase/tutorial/essential/io/scanning.html