鱼C论坛

 找回密码
 立即注册

java扫描控制台输入

已有 347 次阅读2017-5-7 22:14 |个人分类:java| java

由于因最近练习算法的需要,加上API文档中翻译的太过模糊,做了一些小测试,算是武断的记下一些个人结论。

Scanner cin = new Scanner(System.in);

 

对于cin.next(),若cin缓冲区中有值,获取并返回该String(实际上是返回String池中的地址);若cin缓冲区中无值(值被取尽也算),要求向缓冲区输入值(String),确认后再次运行(这次缓冲区中有值了),返回String。

 

对于cin.hasNext(),若cin缓冲区中有值,返回true;若cin缓冲区中无值(值被取尽也算),要求向缓冲区中输入值(String),确认后再次运行(这次缓冲区中有值了),返回true。

无论如何都返回true,个人感觉比较鸡肋,只能用来对缓冲区中有值做一种保证,而next似乎自己就能完成这个任务。

 

在控制台输入回车只能做确认作用,空格为默认分割符,多个空格做一个分割符,结束和开始的分割符忽略,和split风格有些相似。

 

nextInt()\hasNextInt()要求控制台输入Int值;nextLine()\hasNextLine()将一整行看做一个值,默认分割符字符串中的回车。

 

这里只分析了一个方面,全面的这里有一个比较好的帖子

http://bbs.itheima.com/thread-90856-1-1.html


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-2 00:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部