2021 AP CSA FRQ 3: ClubMembers - Complete Solution
Share
2021 AP CSA FRQ 3: ClubMembers
Topic: ArrayList & Object Manipulation
Skills: ArrayList operations, filtering
Unit: Unit 4 (Data Collections) | Points: 9
Study Guide: Unit 4: Data Collections
Part (a)
Write addMembers.
Try it first!
public void addMembers(String[] names, int gradYear) {
for (String name : names)
memberList.add(new MemberInfo(name, gradYear, true));
}Part (b)
Write removeMembers.
public ArrayList removeMembers(int year) {
ArrayList removed = new ArrayList();
int i = 0;
while (i < memberList.size()) {
MemberInfo m = memberList.get(i);
if (m.getGradYear() <= year && !m.inGoodStanding())
removed.add(memberList.remove(i));
else {
i++;
}
}
return removed;
} Key Concepts
- Create MemberInfo with true for good standing
- While loop for removal
- Only increment when not removing
Common Mistakes
- For-each with removal
- Wrong removal condition
Author: Tanner Crow, AP CS Teacher (11+ years)