码迷,mamicode.com
首页 > 编程语言 > 详细

Java的Scanner类的next与nextLine用法区别

时间:2014-12-09 15:56:10      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:java

next(); 从控制台获取字符串,如果字符串中包含空格,只会获取第一个作为接收的字符串。比如:输入hello I am a chinese!,接收到的只是hello。

nextLine();从控制台获取字符串,字符串中可以包含空格,以回车符作为接收结束标志。比如:输入hello I am a chinese!,接收到的是hello I am a chinese!。


如何让next();方法也可以向类似nextLine()一样接收包括空格的字符串呢?

Scanner类中有hasNext()方法,注意,这个方法是一个阻塞方法,表示每次从控制台读取一个字符串。为了保证能够结束输入,可以指定一个结束输入的字符串,比如"quit"表示输入结束。实现代码如下:


String s;

while(!sc.hasNext("quit"))

{

   s = sc.next();

   System.out.println(s);

}


这样,next();就有了和nextLine()类似的功能,同时输入"quit"字符串保证输入状态结束。


本文出自 “Java技术同盟” 博客,请务必保留此出处http://simoniu.blog.51cto.com/2566344/1587828

Java的Scanner类的next与nextLine用法区别

标签:java

原文地址:http://simoniu.blog.51cto.com/2566344/1587828

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!