gpt4 book ai didi

java - map 中的增量值(JAVA)

转载 作者:行者123 更新时间:2023-11-29 06:42:34 33 4
gpt4 key购买 nike

我对这项家庭作业有疑问。我可以处理语法,但不能处理逻辑。你能给我一些提示吗?

我想要实现的是 add 方法将通过使用 increaseAmount 方法来增加产品的数量。现在,每次我调用该方法时,它都会将 amount 的值重置为“1”。使这变得复杂的是我不允许使用任何其他已经使用过的私有(private)变量。

private Map<String, Purchase> shoppingCart = new HashMap<String, Purchase>();

public void add (String product, int price) {
Purchase purchase = new Purchase (product, 1, price);
//the line abowe returns the value back to 1 which I don't want.

if(shoppingCart.containsKey(product)) {

shoppingCart.put(product, purchase);
purchase.increaseAmount();

}
else {
shoppingCart.put(product, purchase);

产品构造函数:

public Ostos(String product, int amount, int price) {

increaseAmount 方法的代码:

private int amount;

public void increaseAmount() {
this.amount = (this.amount + 1);

最佳答案

不要在开始时创建新的购买,只有在它不存在时才创建

public void add (String product, int price) {

if(shoppingCart.containsKey(product)) {
Purchase purchase = shoppingCart.get(product);
purchase.increaseAmount();
//You might have to put the purchase back into the cart I'm not sure
}
else {
Purchase purchase = new Purchase (product, 1, price);
shoppingCart.put(product, purchase);
}

关于java - map 中的增量值(JAVA),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9842264/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com