为了账号安全,请及时绑定邮箱和手机立即绑定

Java中scanner.nextLine 和scanenr.nextInt 的 搞不懂,真心搞不懂啊,求大神赐教

Java中scanner.nextLine 和scanenr.nextInt 的 搞不懂,真心搞不懂啊,求大神赐教

寻水的鱼丶 2016-08-09 18:20:41
图示代码里边是不是nextLine()读取完后,nextInt()又读取一遍???我想实现的是从控制台中读取到整数为止。。。我该怎么改代码,求大神赐教
查看完整描述

2 回答

已采纳
?
XhstormR

TA贡献140条经验 获得超197个赞

多谢启发,nextLine 原来能这么用啊,之前我还不知道呢。你是在做扑克牌游戏吧,我之前也这么想过。


nextInt 不多说,返回控制台输入的整数,不是整数就报错。


nextLine 返回跳过的当前行,就这样。它在这里的作用主要是接收之前你的错误输入,这样就能继续循环了。


如果你删掉 nextLine 的话,之前的错误输入就会留给下一个 nextInt,就是无限死循环了,所以你会看到一堆无限的 println 语句,我也碰到过.......


不懂再问啊,望采纳。

查看完整回答
1 反对 回复 2016-08-10
  • 寻水的鱼丶
    寻水的鱼丶
    我是在做那个扑克牌的游戏,已经做完了。。。 但是就是搞不懂为什么那里要用nextLine(), 还有啊,next()也是可以的。原理我不知道,但是我知道可以这么用。。。求各路大神解答啊
  • XhstormR
    XhstormR
    nextLine()和next()是一样的作用,都是是接收之前你的错误输入,不信你可以把这2个套在 println 里面,看输出的是不是错误输入。
  • 寻水的鱼丶
    寻水的鱼丶
    不明白,不过还是谢谢你。。我记住这样用就好
?
JustWannaHugU

TA贡献452条经验 获得超796个赞

nextInt()接受从键盘输入的int数据而nextLine()是返回按 enter键 之前输入的字符

查看完整回答
反对 回复 2016-08-10
  • 2 回答
  • 0 关注
  • 1708 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信