A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王广彬 中级黑马   /  2012-7-31 23:11  /  1800 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

JAVA中Scanner的next方法为什么不能得到带空格的字符串?而nextLine就可以?
比如输入Show me
用next只能得到Show
而用nextLine就能得到完整的Show me

5 个回复

倒序浏览
本帖最后由 焦晨光 于 2012-7-31 23:21 编辑

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

已解决!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马