老师,我这边有一个疑问

老师,我这边有一个疑问

http://img1.sycdn.imooc.com//climg/5f03eb0a093aeefe11050797.jpg老师,这边关于商品价格,如果输入格式错误,那么这个错误的输入的值,会成为下一个商品的编号,这个我能理解。但是,在输入商品id的部分,如果while循环已经执行过一次了,在第二次循环的时候,我将商品的编号又输成了s00001,和第一次重复,那么同理,这个s0001的值为什么不会成为下文商品名称的值?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕阿慧 2020-07-07 15:19:43

同学你好,当输入的类型与要接收的类型不匹配时,程序会报InputMismatchException异常,输入的内容不会被接收。这时可以使用next()方法接收错误格式的内容。

如果没有报InputMismatchException异常,则表示输入的内容被正确接收了。

如下:

http://img1.sycdn.imooc.com//climg/5f042207094d465e05740527.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

好帮手慕阿慧 2020-07-07 11:50:48

同学你好,当输入的商品编号重复时,会执行continue;结束本次循环开始下一次循环,由于输入的商品编号被接收了,所以s0001不会成为下文商品名称的值。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 柯菲特 #1
    老师,商品价格输入格式错误的情况下,也是用了continue,为什么还会把信息传入到下文的商品编号中。这个continue难道和你说的continue难道不一样嘛?
    2020-07-07 11:53:53
  • 好帮手慕阿慧 回复 提问者 柯菲特 #2
    同学你好,continue都是一样的。商品价格输入格式错误的情况下,输入的价格并没有被接收,所以在下一次调用next()方法时接收的是商品价格。 祝学习愉快~
    2020-07-07 14:16:49
  • 提问者 柯菲特 回复 好帮手慕阿慧 #3
    老师,有没有被接受是根据什么来判别的?这是我这个问题的核心,麻烦老师了
    2020-07-07 14:59:12
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师