商品信息添加优化

商品信息添加优化

这边如果价格输入字符串,是相当于整个while语句重新循环一遍,有没有可能在输入价格格式不正确后会保存之前信息,转而继续重新输入商品价格呢?


http://img1.sycdn.imooc.com//climg/6065918509be45ef13610693.jpg


尝试过


1
try{<br>goodsPrice = console.nextDouble();<br>}catch(java.util.InputMismatchException e){<br>System.out.println("商品价格的格式不正确,请重新输入数值型数据");<br>console.next();<br>goodsPrice = console.nextDouble();<br>}


但是这个有一个问题是,第一次输入错误时候会成功提示,第二次会正常报错,应该如何修改

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

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

2回答
好帮手慕阿满 2021-04-05 11:17:39

同学你好,这里是单独给输入商品价格这一块增加了一个while()循环,如:

http://img1.sycdn.imooc.com//climg/606a80bd09ae38c505970405.jpg

这样如果商品价格不正确,会在商品价格这个循环继续循环,不会输入所有的数据。

如果同学的代码要求输入所有的数据,建议同学将代码贴上来,不要截图,方便我们查看具体问题。

祝学习愉快~

好帮手慕阿慧 2021-04-01 17:52:43

同学你好,同学可以使用循环,当输入正确时退出循环。

例如:

1
double goodsPrice = 0;<br>while (true) {<br>    System.out.println("请输入商品价格:");<br> try {<br>       goodsPrice = console.nextDouble();<br>      break;<br>  } catch (java.util.InputMismatchException e) {<br>      System.out.println("商品价格的格式不正确,请输入数值型数据!");<br>     console.next();<br>     continue;<br>   }<br>}<br>

http://img1.sycdn.imooc.com//climg/606597d4094d7cde05980402.jpg

祝学习愉快~

  • 提问者 慕工程6786193 #1

    这个continue会直接从新开始本次循环,从新输入这一条所有的数据,而不是单单输入商品价格在这个字段

    2021-04-04 00:19:31
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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