社区
Java SE
帖子详情
Scanner.nextLine() 不阻塞问题
Dan淡淡的心
2019-03-29 12:02:28
...全文
772
5
打赏
收藏
Scanner.nextLine() 不阻塞问题
[图片]
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Jam-King
2020-11-15
打赏
举报
回复
哈, 我也以为是 nextLine() 不阻塞
Dan淡淡的心
2019-03-29
打赏
举报
回复
偶然间发现这个问题 不明白为什么会这样 反之将 nextLine() 与 NextInt交换位置就正常了
Dan淡淡的心
2019-03-29
打赏
举报
回复
好的 谢谢
余生不知年
2019-03-29
打赏
举报
回复
1
你好,我把你的代码敲了一下,程序写得没问题输出也跟你一样,那么这个问题出在哪呢,问题就出在nextLine()方法上,xextline()方法是识别空格等空白符的,而上一个nextInt()方法是以空白符结束的,而nextInt()方法是不接受这个空白符的他只是以空白符结束并不吸收,所以空白符就留给下一个方法了,若想避免这个问题你可以将nextInt()方法换成next()方法。以上是我的分析望你自习看看。 谢谢
qybao
2019-03-29
打赏
举报
回复
不是不阻塞,是nextInt时数字的后面有个回车符还没被读入,当你nextLine的时候就把这个回车符读入了
你在int count = scan.nextInt()读入数据后打印一下System.out.printf("%s", scan.hasNextLine());看看就知道了
Scanner
的next
Line
()和BufferedReader的read
Line
()方法
在使用
Scanner
的next
Line
()读取控制台输入,通过BufferedWriter输出在另外机器上使用BufferedReader的read
Line
()读取时,read
Line
()方法一直被
阻塞
,检查了一下。因为next
Line
()以回车符标记一行结束,但是返回的字符串是不包含回车符的,导致BufferedWriter写过去的字符串没有回车符,而read
Line
()也是以回车符或换行符为一...
Scanner
类及其中方法的使用
1.导包 java.util 2.创建对象
Scanner
input=new
Scanner
(System.in); 3.做事情 int value=input.nextInt(); String value=input.next
Line
(); public static void main(String[] args){ //利用数组实现用户的登录 //1.有小数组来充当数据库 //2.利用
Scanner
让用户输入
Scanner
input=new
Scanner
(System.in)
Java
Scanner
全解析:从入门到精通,彻底搞定输入流
摘要:
Scanner
是Java标准库中用于读取用户输入或文件数据的工具类,提供多种方法读取不同类型数据。核心方法包括:next()读取单个单词(忽略空格),next
Line
()读取整行(保留空格),以及hasNext()/hasNext
Line
()用于判断输入是否存在。
Scanner
还提供nextInt()等方法来直接读取基本数据类型。
java
scanner
函数显示_java 中
Scanner
在调用函数的时候出现
问题
importjava.util.
Scanner
;publicclassExe02{static
Scanner
scan=new
Scanner
(System.in);publicstaticvoidmain(String[]args){Stringcmd="";while(true){System.out.print("you@you#:")...import java.util.
Scanner
;pu...
Java SE
62,621
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章