我一直在努力为我的大学完成以下任务。到目前为止,我已经多次接受过这项任务的帮助(我非常感谢)。
由于这是大学的作业,我希望通过不直接修复我的作业的例子解释概念的非直接答案。
作业要求我根据用户输入检查一些内容。
如果用户输入订单,然后再次使用相同的代码输入相同的订单,它会用新的信息替换先前的信息。 EG,如果用户输入G22作为代码,输入5作为数量,则再次输入G22,然后输入4作为数量,它会忘记5,并将其替换为4.我怎样才能使它记住前一个并简单地添加新订单并使其数量= 9(我使用数组进行用户输入)。
如果用户输入G22和数量3,但之后没有输入任何内容并且只是点击输入,则计数器会添加一个,在按下X(退出)时,运费显示为$ 2.00,这是2项目。如果没有输入任何合理的信息,我怎么能避免计数器加1,即输入除4个可用选项之外的其他任何东西。
据我所知,使用双打不建议任何与钱相关的东西,建议使用BigDecimal(也可以使用NumberFormat)。我可以用最小的问题替换我当前的BigDcimal双打,还是我必须替换整个代码?我也不明白如何轻松实现BigDecimal,所以我很欣赏外行的例子(尤其是关于我是否可以使用int添加/减去/乘/除BigDecimal等)。
我会在这里发布代码,但我不希望它被其他人复制做同样的课程,然后在我做之前提交它(不是说我的代码是世界上最棒的东西,我只是自我的第一个项目以来付出了很多努力。)
答案 0 :(得分:2)
1)我会使用Map<String, Integer>
来存储产品代码的所有数量。
2)我会通过对地图中的数量求和来获得订购的项目总数。用户输入数据的方式无关紧要。
3)此建议取决于项目。在您的情况下,标记的选项是重要的。在投资银行和贸易公司工作多年,我没有看到任何人使用BigDecimal赚钱。它不是重大改写,至少你应该知道如何正确使用double
和BigDecimal
处理舍入。