这是我的代码:
public void delivery(int id, int amount)
{
stock.add(++amount, item);
}
我正在输入产品ID并指定增加产品数量的数量。我在调用方法时遇到IndexOutOfBounds
异常。我有什么想法吗?
答案 0 :(得分:0)
因此该方法应该以给定的数量更新产品的库存。让我们一步一步来做。
首先,我们需要一个地方来记住库存中当前的产品数量。产品由整数id
标识,每个产品我们关联一个表示当前库存的数字。当然我们可以使用Map
接口:
Map<Integer, Integer> stock = new HashMap<>(); // product id -> number in stock
那么delivery
方法(你有一个更好的名字吗?)可以是:
public void delivery(int id, int amount) {
stock.put(id,
amount + stock.getOrDefault(id, 0));
}