黑马程序员技术交流社区

标题: java基础问题 [打印本页]

作者: 王广彬    时间: 2012-7-31 23:11
标题: java基础问题
JAVA中Scanner的next方法为什么不能得到带空格的字符串?而nextLine就可以?
比如输入Show me
用next只能得到Show
而用nextLine就能得到完整的Show me

作者: 焦晨光    时间: 2012-7-31 23:17
本帖最后由 焦晨光 于 2012-7-31 23:21 编辑

这个非常简单:
next方法 从一行中扫描,直到碰到特定的标识符:空格或是换行符(\n),获取其前的字符(串)。
输入的字符以空格或者换行符(\n)结束
nextLine方法 从一行中扫描,直到碰到特定的标识符(\n),获取其前的字符(串)。
输入的字符以换行符(\n)结束
作者: 黄锐    时间: 2012-7-31 23:18
因为next是指下一个  只读下一个,空格是一个分隔符号,不读空格后面的内容,nextLine是读下一行,带空格的自然会读写,这么简单理解就行了。
作者: 贾成龙    时间: 2012-7-31 23:39
你的Scanner写错啦吧?是不是这个Scanner?
Scanner中next()方法的意思是:查找并返回来自此扫描器的下一个完整标记。
例如:Scanner sc=new Scanner(System.in);
            int i=sc,nextInt();
该方法只能从System.in中读取一个数。
作者: 王广彬    时间: 2012-8-1 19:20
明白了,谢谢各位!
作者: 王广彬    时间: 2012-8-1 23:44
焦晨光 发表于 2012-7-31 23:17
这个非常简单:
next方法 从一行中扫描,直到碰到特定的标识符:空格或是换行符(\n),获取其前的字符(串 ...

已解决!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2