简略解析 java Scanner中的 next() 方法和 nextLine() 方法:

来源:互联网 发布:微信拓客软件怎么用 编辑:程序博客网 时间:2024/06/05 02:50

让我们首先来看一个我编的例子吧:



说明:我输入的是“ jeckfan jeckfan jeckfan”,前面加了一个空格。



看到结果了吧?也许你会问,为什么当我调用 next()方法时,它让我
输入字符串,我输入了三个 jeckfan却只是打印出了一个;而当我再
接着调用 nextLine()方法时,没用我输入它就自动打印出了上面的后
两个 jeckfan呢?下面,咱们就一起来探讨一下吧!


首先,我们要弄明白,next 方法的使用规则:当 next 方法遇见第一
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.个有效字符(非空格、换行字符)时,开始执行扫描,而当遇见第一
个分隔符或结束符(空格或换行符)时,结束扫描。这里,你看,当
我一连串输入三个jeckfan时,其实next方法只执行到第一个jeckfan
碰到第一个空格就结束了,不会再往下扫描,也就是它只接收了第一
个 jeckfan。而从第一个 jeckfan 后的空格算起,就交给 nextLine 来
扫描了,也就是说,nextLine 方法接收当前行剩下的所有的字符串,
一直到你敲回车为止。

大家想到了吧?Scanner 中的 next 和 nextLine 方法最好不要联合使
用,因为它们如果联合使用的话,它们就是一个整体了,你不要想当
然的以为这两个方法一前一后调用时是各自孤立的。也就是说,在这
里,next 方法和 nextLine 方法(next 在前,nextLine 在后)扫描接
收的是同一行上的字符串,只不过接收的是不同部分罢了。不知道聪
明的你是不是明白了我以上所说的内容。