小明踩坑日常01----------nextLine()有手就行,小明废物,就这,就这?

今天这坑虽然很浅,但小明还是被装到了,明明就很简单😭,也找了一些前辈们的记录,这里小明给自己做个总结.(这个问题以前明明学过,结果依旧踩坑,以前只是知其然,现在要知其所以然)

问题如下:

总是没有第二次输入?(小明大憨批)

在这里插入图片描述
原因是因为小明输入1的时候按了回车键,nextInt()方法读取到数字就结束了,回车键被后一个方法读取,也就是nextLine()读取到上一个回车键(“\r”)以为输入结束,程序运行结束,所以没有第二次的用户输入(好吧,准确来说你的回车就是第二次(狗头)),其他的如next()方法(读到空格或回车结束,但是不管什么输入方法都要以回车键结束输入)及nextDouble()等方法后接nextLine()方法也会有同样问题.
在这里插入图片描述
nextLine()方法在前面就没有这个问题,就是上面讲的其会读取到回车键, 回车键不会结束下一个用户输入.
在这里插入图片描述
小明有话说:

方案1:
用nextInt()或nextFloat()这些用来读取特定类型的后面一定用next()方法(但是难免有些憨批就是不按你的要求输入非得搞个空格,也会导致一次输入没有第二次)
在这里插入图片描述
方案2:(推荐这个,因为用户真的会像这样输入的)
两次都用nextLine()方法,如果第一次要读取特定类型的数据时进行额外的操作(转换需要的类型,根据需求),因为不管什么输入方法都要以回车键结束输入(这话我说两遍了,注意结束输入,但不会读取),这样可以保证不管憨批怎么输入最终还是要按你想要的来(用户不会像你这样操作的(狗头)).

老明:小明,学废了没?
小明:废了废了,从入门到放弃(狗头).

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值