所以我的问题是我有一台自动售货机。自动售货机的插槽具有每个插槽的最大物品数量。
如果我使用产品名称和数量运行补货方法,我需要将数量添加到提供的产品中。我有一个字符串数组和一个股票数组,其索引是插槽号。
问题是如果我在列表中有两次相同的命名产品,产品的第一个索引将达到最大值,但产品的第二个实例总是比我需要的少 1。
前任。我在插槽 0 和 1 有糖果,最多 10 个。运行 restock(candies, 8) 然后 restock(candies, 5) 应该在插槽 0 和插槽 2 中提供 10 和 3。但我得到的是 10 和 2。
public void restockProduct(String product, int quantity) {
int index = -1;
// If there is nothing to add, quit
if (quantity == 0) {
return;
}
for (int i = 0; i < products.length; i++) {
//Find location of product
if (products[i].equals(product)) {
index = i;
if(stock[index] <= max)
break;
}
}
if(index >=0){
stock[index]++;
restockProduct(product, quantity-1);
}
谢谢