The MasterOrder problem from the 2010 AP Computer Science Exam is typical of free response problems that test lists. The problem requires you to manipulate a List and the objects inside.
MasterOrder is #1 from the 2010 AP Computer Science Free Response.
https://secure-media.collegeboard.org/apc/ap10_frq_computer_science_a.pdf
Part (a) getTotalBoxes method
public int getTotalBoxes()
{
int boxes = 0;
for (CookieOrder order : orders)
boxes += order.getNumBoxes();
return boxes;
}
On the free response, when in doubt, use a regular loop (for or while). See Enhanced for loop exercises for information on when enhanced for loops are appropriate, and to practice with them.
Part (b) removeVariety method
public int removeVariety(String cookieVar)
{
int boxesRemoved = 0;
for (int i = orders.size() - 1; i >= 0; i--)
{
if (cookieVar.equals(orders.get(i).getVariety()))
boxesRemoved += orders.remove(i).getNumBoxes();
}
return boxesRemoved;
}
See ArrayList practice for details on adding to and removing from an ArrayList within a loop.
2010 AP CS Exam Free Response Solutions
Help & comments
Get help from AP CS Tutor Brandon Horn