设为首页
收藏本站
切换到宽版
登录
立即注册
找回密码
搜索
搜索
本版
帖子
用户
快捷导航
论坛
BBS
VIP用户组
官网群
无名商城论坛
»
论坛
›
资源分享区
›
学习资源专区
›
【技术交流】解决Java键盘扫描通回车BUG
返回列表
发帖
查看:
293
|
回复:
0
[其他技术]
【技术交流】解决Java键盘扫描通回车BUG
[复制链接]
无名
无名
当前离线
积分
32464
1万
主题
1万
帖子
3万
积分
管理员
积分
32464
发消息
发表于 2022-5-8 18:34:44
|
显示全部楼层
|
阅读模式
最近才发现
当你调用Java底层方法Scanner
如:Scanner sn = new Scanner(System.in);
键盘扫描器
sn.Next();
Next返回类型为字符串,该方法一定要读取到有效字符才能返回
sn.NextLine();
NextLIne,返回由输入设备输入的字符,返回类型为字符串,该方法由用户按下回车键结束输入方法
当出现在同一个事件中,就会出现【通回车现象】
当在控制台中输入
12 12 12【每个12中带一个空格】
那么结果为
sn.Next(); 遇到空格,就会停止扫描。
所以只会打印一个【12】
但是我只输入了一次却有两个结果被打印[心碎]
这就是问题所在[OK]
sn.Next();跟sn.NextLine();都把回车键认为成它的执行条件了
但是为啥sn.NextLine();只打印了【12 12】
是因为: sn.NextLine();会直接跟着sn.Next();读取后再读取数据
如过扫描到: 1 2 3
那么sn.Next();为:【1】
sn.NextLine();为:【2 3】[滑稽][OK]
为了解决这个小BUG
当然也很简单
再多加一条sn.NextLine();
让前面两条语句通回车
第三条扫描语句就不会通回车了[滑稽][OK]
NextLine
,
输入
,
回车
,
扫描
,
Next
相关帖子
•
[局域网劫持]如何搞懵蹭网的同学-详细过程
•
使用kali进行简单的dns劫持
•
如何让你手机防止root锁机
•
【Max】团队 教大家如何实现文本转语音
•
【FUT】web安全教程-漏洞挖掘-如何去查找漏洞
•
【FUT】AIDE第二课
•
【FUT】iapp计算人品代码
回复
使用道具
举报
返回列表
发帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表