Java教程

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

本文主要是介绍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 - 如果此扫描仪已关闭
这篇关于Java中next()和nextline()的区别的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!