ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Scanner类的用法

2021-12-27 23:00:08  阅读:168  来源: 互联网

标签:nextLine hasNext Scanner 字符 next 字符串 用法 输入


1.hasNext()
当执行hasNext()时,它会先扫描缓冲区中是否有字符,有则返回true,继续扫描。直到扫描为空,这时并不返回false,而是将方法阻塞,等待你输入内容然后继续扫描。
也就是说,hasNext()会一直等待方法调用者的输入,不会停止。那么应该如何停止呢,这时就要用到hasNext()的重载函数
在这里插入图片描述
(图片来自https://blog.csdn.net/gao_zhennan/article/details/80562548)
即hasNext(""),使用一个字符串作为匹配符,当出现该字符串,即返回true。然后我们将其取反,即变成当出现该字符串,返回false的结果,也就可以将该字符串当作结束标志来使用从而使得程序块停止。
另外,hasNext还有一系列衍生的函数比如hasNextInt,hasNextDouble等,效果跟hasNext差不多,但是当hasNextxxx读到与xxx不匹配的类型时,该程序块就结束了。我们可以利用这点来设置输入数据的结束标志,比如要计算一串数字的平均值,我们可以采用累加的方法获取sum,最后除以数字个数m。我们可以在输入的最后输入一个end字符串,这样字符串和Int类型不匹配,累加就会自动结束了。
2.nextxxx()方法
next():接收一个字符串,以空格为间隔;
nextInt():接收一个整数,以空格为间隔;
nextDouble():接收一个数字,以空格为间隔。
nextFloat()等等以此类推
3.nextLine()
接收一行字符串,以回车作为结束符
4.next()和nextLine()的区别
next():
1、一定要读取到有效字符后才可以结束输入。
2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
next() 不能得到带有空格的字符串。
nextLine():
1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
2、可以获得空白。

标签:nextLine,hasNext,Scanner,字符,next,字符串,用法,输入
来源: https://blog.csdn.net/m0_47464136/article/details/122182175

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有