问题描述
我看了这篇文章,http://blog.csdn.net/moonwalkings/article/details/4632169《Scanner和BufferedReader的区别和用法》,在说到Scanner的时候有这样的一句话:“用Scanner获得用户的输入非常的方便,但是Scanner取得输入的依据是空格符,包括空格键,Tab键和Enter键.当按下这其中的任一键时,Scanner就会返回下一个输入.”我不太明白什么意思。是不是在控制台输入一串字符后,如果想继续输入空格键,Tab键和Enter键这三个键就要调到下一个输入的地方啊?但是我试了,没用啊,空格和制表符任然被输出啦。这是为啥?
解决方案
解决方案二:
我的理解是:假如要输入两个字符串,再输入第一个的过程中你输入了空白符(空格键,Tab键和Enter键),这时候空格符并不算在第一个字符串内,而是开始了第二个字符的输入。
解决方案三:
我的建议是看官方的文档,然后自己做实验。。。别人说的不一定对。。
解决方案四:
Scanner是一个可以使用正则表达式来分析基本类型和字符串的简单文本扫描器!也就是控制台应用程序最为常用的文本输入方式!BufferedReader是字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取!速度要比Scanner快!而且也可以设置缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。Scanner取得输入数据的依据是空格符:如按下空格键,Tab键或者Enter键,Scanner就会返回下一个输入。所以说Scanner不能输入空格,如果你希望取得含有空格的字符串BufferedReader可以做到
时间: 2024-09-05 15:17:40