Skip to content

Commit

Permalink
Update
Browse files Browse the repository at this point in the history
  • Loading branch information
PranavP04 committed Apr 27, 2023
1 parent f81c884 commit f5f22e8
Showing 1 changed file with 91 additions and 29 deletions.
120 changes: 91 additions & 29 deletions _notebooks/2023-04-26-HW-Rohangroup.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -361,7 +361,7 @@
},
{
"cell_type": "code",
"execution_count": 1,
"execution_count": 3,
"metadata": {
"vscode": {
"languageId": "java"
Expand All @@ -371,51 +371,113 @@
"source": [
"// FRQ Array Lists\n",
"//Part a\n",
"public void addMembers(String[] names, int gradYear) {\n",
" for (String name : names) {\n",
" MemberInfo member = new MemberInfo(name, gradYear, true); // Assuming all new members are initially in good standing\n",
" memberList.add(member);\n",
"class MemberInfo {\n",
" private String name;\n",
" private int gradYear;\n",
" private boolean goodStanding;\n",
"\n",
" public MemberInfo(String name, int gradYear, boolean goodStanding) {\n",
" this.name = name;\n",
" this.gradYear = gradYear;\n",
" this.goodStanding = goodStanding;\n",
" }\n",
"\n",
" public int getGradYear() {\n",
" return gradYear;\n",
" }\n",
"\n",
" public boolean inGoodStanding() {\n",
" return goodStanding;\n",
" }\n",
"\n",
" public String getMemberName() {\n",
" return name;\n",
" }\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 4,
"metadata": {
"vscode": {
"languageId": "java"
}
},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Removed members who graduated in 2024:\n",
"2024: John\n",
"2024: Emily\n",
"2024: David\n"
]
}
],
"source": [
"//Part B\n",
"public ArrayList<MemberInfo> removeMembers(int year) {\n",
" ArrayList<MemberInfo> graduatedMembers = new ArrayList<>();\n",
"\n",
" Iterator<MemberInfo> iterator = memberList.iterator();\n",
" while (iterator.hasNext()) {\n",
" MemberInfo member = iterator.next();\n",
" if (member.getGradYear() <= year && member.inGoodStanding()) {\n",
" graduatedMembers.add(member);\n",
" iterator.remove();\n",
"import java.util.ArrayList;\n",
"\n",
"public class ClubMembers {\n",
" private ArrayList<MemberInfo> memberList;\n",
"\n",
" public ClubMembers() {\n",
" memberList = new ArrayList<>();\n",
" }\n",
"\n",
" /**\n",
" * Adds new club members to memberList.\n",
" * Precondition: names is a non-empty array.\n",
" */\n",
" public void addMembers(String[] names, int gradYear) {\n",
" for (String name : names) {\n",
" MemberInfo member = new MemberInfo(name, gradYear, true);\n",
" memberList.add(member);\n",
" }\n",
" }\n",
"\n",
" return graduatedMembers;\n",
"}"
" /**\n",
" * Removes members who have graduated and returns a list of members who have\n",
" * graduated and are in good standing.\n",
" */\n",
" public ArrayList<MemberInfo> removeMembers(int year) {\n",
" ArrayList<MemberInfo> graduatedMembers = new ArrayList<>();\n",
" for (int i = 0; i < memberList.size(); i++) {\n",
" MemberInfo member = memberList.get(i);\n",
" if (member.getGradYear() == year && member.inGoodStanding()) {\n",
" graduatedMembers.add(member);\n",
" memberList.remove(i);\n",
" i--; // Decrement the index as the list size has changed\n",
" }\n",
" }\n",
" return graduatedMembers;\n",
" }\n",
"\n",
" // Tester method\n",
" public static void main(String[] args) {\n",
" ClubMembers club = new ClubMembers();\n",
"\n",
" // Adding members\n",
" String[] names = {\"John\", \"Emily\", \"David\"};\n",
" int gradYear = 2024;\n",
" club.addMembers(names, gradYear);\n",
"\n",
" // Removing members who graduated in a specific year\n",
" int yearToRemove = 2024;\n",
" ArrayList<MemberInfo> removedMembers = club.removeMembers(yearToRemove);\n",
"\n",
" // Displaying removed members\n",
" System.out.println(\"Removed members who graduated in \" + yearToRemove + \":\");\n",
" for (MemberInfo member : removedMembers) {\n",
" System.out.println(member.getGradYear() + \": \" + member.getMemberName());\n",
" }\n",
" }\n",
"}\n",
"\n",
"ClubMembers.main(null);"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"vscode": {
"languageId": "java"
}
},
"outputs": [],
"source": []
}
],
"metadata": {
Expand Down

0 comments on commit f5f22e8

Please sign in to comment.