Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将输入字段id的数量增加一个以上_Java_Increment - Fatal编程技术网

Java 将输入字段id的数量增加一个以上

Java 将输入字段id的数量增加一个以上,java,increment,Java,Increment,这是我的密码: public void delivery(int id, int amount) { stock.add(++amount, item); } 我正在输入产品id,并指定产品数量增加多少。当我调用该方法时,我当前收到一个IndexOutOfBounds异常。你知道我做错了什么吗?所以这个方法应该按照给定的数量更新产品的库存。让我们一步一步地做吧 首先,我们需要一个地方来记住当前的库存产品数量。产品由一个整数id标识,我们为每个产品关联一个表示当前库存的数字。当然,我们

这是我的密码:

public void delivery(int id, int amount)
{
    stock.add(++amount, item);
} 

我正在输入产品id,并指定产品数量增加多少。当我调用该方法时,我当前收到一个
IndexOutOfBounds
异常。你知道我做错了什么吗?

所以这个方法应该按照给定的数量更新产品的库存。让我们一步一步地做吧

首先,我们需要一个地方来记住当前的库存产品数量。产品由一个整数
id
标识,我们为每个产品关联一个表示当前库存的数字。当然,我们可以使用
Map
界面:

Map<Integer, Integer> stock = new HashMap<>(); // product id -> number in stock

什么是
库存
?库存是构成其自身类别的产品数量。有一个名为stock的product类型的ArrayList,那么您可能应该迭代
stock
,找到id为
id
product
,然后通过该引用更改其金额。很难说清楚,因为您没有给我们提供太多的信息。上面显示的代码无法给出错误。您的错误在call
stock.add(int,int)
中。在这种情况下,迭代器的格式如何?谢谢。我需要一个Arraylist来添加产品,然后在通过调用产品id更新库存量后从中打印产品详细信息。有什么办法吗?
public void delivery(int id, int amount) {
    stock.put(id,
              amount + stock.getOrDefault(id, 0));
}