gpt4 book ai didi

java - 继续越界ArrayList

转载 作者:行者123 更新时间:2023-12-01 20:51:58 25 4
gpt4 key购买 nike

我有一个必须在计算机科学课上完成的程序,该程序是关于跟踪 cookies 订单(想想女童子军 cookies )。这里有一个方法,旨在删除某种类型的 cookie,并返回删除的框数。它不断越界。 ArrayList是“orders”变量,它由CookieOrder对象(下面的CookieOrder类)组成

public int removeVariety(String cookieVar)
{
int counter = 0;
for(int i = orders.size() - 1; i > 0; i--)
{
if(orders.get(i).getVariety().equals(cookieVar))
{
counter += orders.get(i).getNumBoxes();
orders.remove(i);
}
}
return counter;
}

这是 CookieOrder 类

private String variety;
private int boxes;

public CookieOrder (String variety, int numBoxes)
{
this.variety = variety;
boxes = numBoxes;
}

public String getVariety()
{
return variety;
}

public int getNumBoxes()
{
return boxes;
}

最佳答案

不要使用for循环,使用迭代器并使用Iterator#remove()

关于java - 继续越界ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43215985/

25 4 0