Java中next()和nextline()的区别

Java中Scanner类中的方法next()和nextLine()都是吸取输入台输入的字符,区别:

  • next()不会吸取字符前/后的空格/Tab键,只吸取字符,开始吸取字符(字符前后不算)直到遇到空格/Tab键/回车截止吸取;

  • nextLine()吸取字符前后的空格/Tab键,回车键截止。

nextLine()会读取换行('\r'),但是不会进行输出。

官方文档的解释:

next

public String next​(Pattern pattern)
如果匹配指定的模式,则返回下一个标记。 即使先前调用hasNext(Pattern)返回true ,此方法也可能在等待输入扫描时true 。 如果匹配成功,扫描仪将超过与模式匹配的输入。
参数
pattern - 要扫描的模式
结果
下一个标记
异常
NoSuchElementException - 如果没有更多令牌可用
IllegalStateException - 如果此扫描仪已关闭
nextLine

public String nextLine()
使此扫描器前进超过当前行并返回跳过的输入。 此方法返回当前行的其余部分,不包括末尾的任何行分隔符。 该位置设置为下一行的开头。
由于此方法继续搜索输入以查找行分隔符,因此如果不存在行分隔符,则可以缓冲搜索要跳过的行的所有输入。

结果
跳过的行
异常
NoSuchElementException - 如果未找到任何行
IllegalStateException - 如果此扫描仪已关闭
posted @ 2022-04-25 09:24  wjxuriel  阅读(133)  评论(0)    收藏  举报