From 4a185a47e804350d8c19050a24f06cba79efcd43 Mon Sep 17 00:00:00 2001 From: Raymond Date: Mon, 12 Jul 2021 07:38:35 -0400 Subject: [PATCH] 95% finished --- src/main/java/io/zipcoder/Classroom.java | 49 ++++++++++++ src/main/java/io/zipcoder/Student.java | 68 +++++++++++++++++ src/test/java/io/zipcoder/ClassroomTest.java | 44 +++++++++++ src/test/java/io/zipcoder/StudentTest.java | 70 ++++++++++++++++++ target/classes/io/zipcoder/Classroom.class | Bin 0 -> 1461 bytes target/classes/io/zipcoder/Student.class | Bin 0 -> 3010 bytes .../io/zipcoder/ClassroomTest.class | Bin 0 -> 2168 bytes .../io/zipcoder/StudentTest.class | Bin 0 -> 2346 bytes 8 files changed, 231 insertions(+) create mode 100644 target/classes/io/zipcoder/Classroom.class create mode 100644 target/classes/io/zipcoder/Student.class create mode 100644 target/test-classes/io/zipcoder/ClassroomTest.class create mode 100644 target/test-classes/io/zipcoder/StudentTest.class diff --git a/src/main/java/io/zipcoder/Classroom.java b/src/main/java/io/zipcoder/Classroom.java index 64566f0..84f9db1 100644 --- a/src/main/java/io/zipcoder/Classroom.java +++ b/src/main/java/io/zipcoder/Classroom.java @@ -1,4 +1,53 @@ package io.zipcoder; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + public class Classroom { + private Student[] student; + private Integer maxNumberOfStudents; + + public Classroom(Integer maxNumberOfStudents){ + this.student = new Student[maxNumberOfStudents]; + } + public Classroom(Student[] student){ + this.student = student; + } + public Classroom(){ + this.student = new Student[30]; + } + public Student[] getStudents() { + return student; + } + public Double getAverageExamScore(){ + Double sumScore = 0.0; + for (Student thisStudent : student) { + sumScore += thisStudent.getAverageTestScores(); + } + return sumScore/student.length; + } + public void addStudent(Student newStudent) { + for (int i = 0; i < student.length - 1; i++) { + if (student[i] == null) { + student[i] = newStudent; + } + + } + + } + public void removeStudent(String firstName, String lastName){ + ArrayList newArrayList = new ArrayList<>(Arrays.asList(student)); + for (int i = 0; i < student.length; i++) { + if(student[i].getFirstName().equals(firstName) && student[i].getLastName().equals(lastName)){ + } + } + student = newArrayList.toArray(new Student[0]); + } + public void getStudentByScore(){ + Arrays.sort(student); + } + public void getGradeBook(){ + + } } diff --git a/src/main/java/io/zipcoder/Student.java b/src/main/java/io/zipcoder/Student.java index b543e36..ff144b3 100644 --- a/src/main/java/io/zipcoder/Student.java +++ b/src/main/java/io/zipcoder/Student.java @@ -1,4 +1,72 @@ package io.zipcoder; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.LinkedHashMap; + public class Student { + private String firstName; + private String lastName; + private ArrayList testScores; + + public Student(String firstName, String lastName, Double[] testScores){ + this.firstName = firstName; + this.lastName = lastName; + this.testScores = new ArrayList(Arrays.asList(testScores)); + } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public String getExamScores() { + String result = ""; + for (int i = 0; i < testScores.size(); i++){ + result += "Exam " + (i + 1) + " score: " + testScores.get(i) + "\n"; + } + return result; + /* LinkedHashMap map = new LinkedHashMap<>(); + for (int i = 0; i < testScores.size(); i++) { + map.put("Exam " + (i + 1) + " score",testScores.get(i)); + map.toString(); + } + return map;*/ + } + + public void addExamScore(Double examScore){ + testScores.add(examScore); + } + + public Integer getNumberOfExamsTaken(Integer numberOfExams){ + return testScores.size(); + } + public void setExamScore(Integer examNumber, Double updatedScore) { + testScores.set(examNumber - 1, updatedScore); + } + public Double getAverageTestScores(){ + Double sum = 0.0; + for (int i = 0; i < testScores.size(); i++) { + sum += testScores.get(i); + } + return sum / testScores.size(); + } + public String toString(){ + String newString = ""; + String result = newString += "Student Name: " + firstName + " " + lastName + "\n" + + "> Average Score: " + this.getAverageTestScores() + "\n" + + "> Exam Scores: " + this.getExamScores() + "\n"; + return result; + } } diff --git a/src/test/java/io/zipcoder/ClassroomTest.java b/src/test/java/io/zipcoder/ClassroomTest.java index 7bac1ff..6c6925c 100644 --- a/src/test/java/io/zipcoder/ClassroomTest.java +++ b/src/test/java/io/zipcoder/ClassroomTest.java @@ -1,4 +1,48 @@ package io.zipcoder; +import org.junit.Test; + +import java.util.Arrays; + public class ClassroomTest { + @Test + public void avgExamScoreTest(){ + // : Given + Double[] s1Scores = { 100.0, 150.0 }; + Double[] s2Scores = { 225.0, 25.0 }; + + Student s1 = new Student("student", "one", s1Scores); + Student s2 = new Student("student", "two", s2Scores); + + Student[] students = {s1,s2}; + Classroom classroom = new Classroom(students); + + // When + double output = classroom.getAverageExamScore(); + + // Then + System.out.println(output); + } + @Test + public void addStudentTest(){ + // : Given + int maxNumberOfStudents = 1; + Classroom classroom = new Classroom(maxNumberOfStudents); + Double[] examScores = { 100.0, 150.0, 250.0, 0.0 }; + Student student = new Student("Leon", "Hunter", examScores); + + // When + Student[] preEnrollment = classroom.getStudents(); + classroom.addStudent(student); + Student[] postEnrollment = classroom.getStudents(); + + // Then + String preEnrollmentAsString = Arrays.toString(preEnrollment); + String postEnrollmentAsString = Arrays.toString(postEnrollment); + + System.out.println("==========================="); + System.out.println(preEnrollmentAsString); + System.out.println("==========================="); + System.out.println(postEnrollmentAsString); + } } diff --git a/src/test/java/io/zipcoder/StudentTest.java b/src/test/java/io/zipcoder/StudentTest.java index a9fedec..6aec568 100644 --- a/src/test/java/io/zipcoder/StudentTest.java +++ b/src/test/java/io/zipcoder/StudentTest.java @@ -1,5 +1,75 @@ package io.zipcoder; +import org.junit.Assert; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.Arrays; + public class StudentTest { + @Test + public void getExamScoreTest(){ + //given + Double[] examScores = {91.5,89.0,98.1,100.0}; + Student student = new Student("Raymond","Fitzgerald", examScores ); + + //when + String output = "Exam " + 1 + " score: " + 91.5 + "\n" + + "Exam " + 2 + " score: " + 89.0 + "\n" + + "Exam " + 3 + " score: " + 98.1 + "\n" + + "Exam " + 4 + " score: " + 100.0 + "\n"; + //then + Assert.assertEquals(output, student.getExamScores()); + } + @Test + public void addExamTest(){ + //given + Double[] examScore = {}; + Student student = new Student("Raymond", "Fitzgerald", examScore); + + //when + student.addExamScore(95.0); + String expected = "Exam " + 1 + " score: " + 95.0 + "\n"; + + //then + Assert.assertEquals(expected, student.getExamScores()); + } + @Test + public void setExamScoreTest(){ + //given + Double[] examScores = {100.0}; + Student student = new Student("Raymond", "Fitzgerald", examScores); + + //when + student.setExamScore(1, 150.0); + String output = student.getExamScores(); + + //then + System.out.println(output); + } + @Test + public void getAverageTestScoreTest(){ + //given + Double[] examScores = { 100.0, 150.0, 250.0, 0.0 }; + Student student = new Student("Raymond", "Fitzgerald", examScores); + + //when + Double output = student.getAverageTestScores(); + Double expected = 125.0; + + //then + Assert.assertEquals(output,expected); + } + @Test + public void toStringTest() { + // : Given + Double[] examScores = {100.0, 150.0, 250.0, 0.0}; + Student student = new Student("Raymond", "Fitzgerald", examScores); + + // When + String output = student.toString(); + // Then + System.out.println(output); + } } \ No newline at end of file diff --git a/target/classes/io/zipcoder/Classroom.class b/target/classes/io/zipcoder/Classroom.class new file mode 100644 index 0000000000000000000000000000000000000000..5a5ad11060fcb851e7b6d0047dbbfd9b81ee19c5 GIT binary patch literal 1461 zcmZuxOHUI~6#i~IWnem#@+vKsr?2v?@=|$40ZB-TEK1n88rlH|ONX>mB(7YL_&?aV zGSNiQn8?<|U*Wl+W{#9RX#P@B(cat7ukHw~gHbEgcy< zXB2jfk|pn+QE{GGOxAOS+G@clmrJ&N$b^ZMKW&*Rn36KQZ#s3_@zjWa04t*7qhqsV z?3<5IjKgfsE|FGOYNVl(HM>G`%o~=(JXnG5EBxxMYc5y*<8=6;v}PS6_k7bha?5pR zGOHpipc(mm4LzRng_p$%i~kM!7tI$ne=TcQN;z}gl5LIDx-}^WrXzxwia8zkaGy2% zj9iC?u!>n74=}G|0gF18(90?toolcH(fTHA?H-spE>nZ4+A@Lmx|g>v0?k&@*)a+g z^5n2shk7h;TYF5FTJvvw-W@?bYK=3hPj1^RJMQGl7~;~!Z!v)P@pra6&<|A7{wTLqKl{0BsQl(?`{uy z-9y%@$Uc}6Vz!ZGv;kAAVQMb#DrU^Xd`L{ed=VEj+V9V`owyz3)9K>s)d&xluM^@P zTAHUs3ypq&@{URXvS8UDunbvfH8@lYPN3Hde#<0H^jL{}Mkpf@HpefPgL6u^(szcz z@or^mKE!@DB|_&=dFG_wsUqH7{*Y!Faq-%wQDzRhnPUi1k5eX)WTpw8)6^uBLHZ== zb&XPbt$3V5T+crAlhpvNJqTQ~pCJ{4Duz@H3)b=r!+d-lH$3XE2qkAa99&AeG|rHa zXL9NrG*=nRo(4$tr`&=@Y6IMZLC$=LGzKVd)u;t{zsbAYi(!wN)NYe*l^Vaie-IGy N-=r^)qF(?b{{RCB8qfd$ literal 0 HcmV?d00001 diff --git a/target/classes/io/zipcoder/Student.class b/target/classes/io/zipcoder/Student.class new file mode 100644 index 0000000000000000000000000000000000000000..51e9182e959eb293c35c772b1e5ddc7177b021ad GIT binary patch literal 3010 zcmaJ?YjYE26n@?$?WUV;DFMo@NRV5a79t=DZK*&nSP4{VEf&16O}1qrO=_|!7x9kb z{kz{BzwlLOBrr1LIO8|}g8#%BFVETCB%2VOOy0|R&wI{uo^#H-zyJO7F94p!H#(li zg)Z#EtPFD+Uez&=i#j5BO(Y9ZT$0UY4X^9aaY2SRqIgs0x1zWrho)>6qsYpf6N#l` z3Cl8Em94E~8?MQ4T|+*Kl_&~P6m>dSjpA*YOB%`=9EGkWyHs}0n=6(=Jaf%lGt+sq zu$-QCN_Js+L?N0tYv;OSm7Upav1FAMHhIbw$Ihoul}hHVj9qr9-!*G57fh#8qQQZ7 zI->zE6UEA6-WnO>z0Og)U^`<9!^wbx593M6<$%byGBB?Y887DOcwNRWSm!G%i&kmQ zqz8$um^JhBX33VlFN`=>Z8sFVn7(bVW_h>7$SXOkAfaq%<3zz&ww$R3X&aM%l+Cmm zj&+3NO;P$KTA7*elPO*R6s=GH7tR;8@F6X(UKMO-6JDmw*30 z*$iZ?p(Q*80JpUtxEP2*ml!;ZjJvX$GaW1Ea;315@K3E-C3D%D3)F0LuIj;t%as*2 z3TxdddIiTaE?75eYkjs@DP^rGTMEhW>*JvGih&f?4D7}p1ADQDLAo8(+!Pva7`TaB zqI}!HKI~V3fp>66VRLK8ovzqHpybt??h%#}Ynw371ZB z_!7?20#95(UPX%h7>+RLHto~oZ)WkDm1V&OAk?@GC#4O%g9dGE%1*N^FN(t6WUviA zQ?-(FZ}<<-R=+e|*?2LZr%St77;&G4vVEJmqciCrb9L1!93l9++ ztip(QbLfv;siG&oj!RMMucEh#_3=3ORlfdrL+buNzYR(#VV6@ceY?5a!=&xS3!Eoe z9+JKUr5!kl;}~|iI^%N{#so%Oh@;dp5c&%p8cwJ`d0UZx86^{^c}p^(3lbvSc(Ij) zLoAuY0TT3jHgx(uMLUXC#(jHYSM0_7@E>7QYfg>^jK%84Vgx+t8k@oy-`E8PCye&` z;QAuDp(-{%0r42?`FNcU>esFI;zif0$fgN4M9X}lef!_B_Qn3mo=4cyl(Ph>*jh`@ zuh_<2R&?Cl{82k(dhZn}ZcWt)Q!|mlYE|K+AX&TNk zRq_Jxo8_bZmgoiTS=Lvuq_%r?6yg+TElEvwFoXWYt~CLpOXA@yYf3*nW20dwkkbpQYW literal 0 HcmV?d00001 diff --git a/target/test-classes/io/zipcoder/ClassroomTest.class b/target/test-classes/io/zipcoder/ClassroomTest.class new file mode 100644 index 0000000000000000000000000000000000000000..d26a2d53f520a66caea538e0f3cb3601eb787fee GIT binary patch literal 2168 zcmZ`)TT|O+5Ir)sB#gtw#(;+gNH2*=02g|VAruOvxHXVsaN|Oo3L_j5TXH4Yf#j{t zA8H;9(@Z;k?vLv9e6oC@C1R{^ceT4Zdv+K7{m<`z0{9p&!*~x56?`SH6lmZTMgW`g z%F$n*Ca;vIeBr)#LP18wvWl<6h~OI)Sp{2R3}IW`c0}}}UVMw)Fml)nV;_0(;5&K6 zTJaL7c&wrzY~PF9K^TYlLB)^4|A~U16lfCUCBrn_WeGjW>AZyCnsuy87|0r?zFn&v z>Gqy>RHh}GwTfCfui1vsePhslYB&CV{Ggod#cs7R9Q1isdcNy@BuXNf^E2(}v4*vQ=}dH3F2@B_wuhrfXF6yx|x`wQ8D{tGR|{@;!rD z%Pyr(Yospam)Wl!AN#W^WZNn^y-gGEz+E~lT)##3QIA_)DqW;kE+S)E(fSwb1B6uGku*6Qz zW?LdSLXi#Y?zLYRr^hmN5qM0|eQvR1-EQrd2p9UDpcKJV7z$1!c!siqN(3e>1y%8u zpM{&vVa)25$*yd&5xO0L12=*i>I$AmaE5bE-h;PaBI66T@me6w7IoFQb9AZ~NxD+k z$~ArGgcT&$r@M%4&t^K=W%cR)zvY^-7W|#%>(SXH31i7C+v+D+6bYN<)?A~U zTD5KMoXe!TR%Z@XXx$) zq~9n6aEEuGcyg`OowI?!3HKgSx$s5F_~5pDko*+c>1SleAqy|b z&97ud%)_C__A8&k0Dd7~ORT$}tO{lV{O#ZYqk5Qk70Vuj8G3!;F}Tk>E0knrO7i)a UWU$BqU8AJ_hs$-oFMy4I0gSu&CjbBd literal 0 HcmV?d00001 diff --git a/target/test-classes/io/zipcoder/StudentTest.class b/target/test-classes/io/zipcoder/StudentTest.class new file mode 100644 index 0000000000000000000000000000000000000000..1ae9641d123c42d331c86bb605fb853403448000 GIT binary patch literal 2346 zcmbW3UsD@Z7{;H4unBSb7g7+Y1KKKqLIN$M1X@h^XQ=@yLE5xxU6LhTOm;EZFm10L zKY(}oA)Kifl+n@g+E3vpaeU71X0yUx2{XIrym`+#zvp@16Zq?&U;hBGfLatcu^Pt5 za`y0VMt~?fkmW3E&*bcr?~lcgoGsb`gprG2ErRtZ6l_GWDc)OAe1ZpZ_VJ%~k_c@_ z@Gy!`k(aYa?dVQ7cCi=5BYY-j&8(NbFK3^(XN52h!uVW*d`~xYYgIyLV(L&rXx%Jp z68iGGq3t$nM_TxJHsFp}5J)NB2;#I^NQ!D^N@!#dC! z){2Dwie_!TRBMHjS=U5NLR4$bxpweb{zN@fQ&rWdq&CbZH|MHw!`Vc_wV=J3A)8I> zw8`CKzV!vGt{WA8IJ6Pc<_yEMR7*Dvp4gu^>y^|=ld@ATTg}?ni+mgZ& z1s~!g#xJ|0;1G}LTY%;CZC`y=GY!&4w{+`ug=p2X*y)Lc9iebyexe~Nu{@EPPcBC7 z(Ct=eDU+OYLU&rB%u;gR2`#ij^K)}dQ&7ayFrF#+0$(cl3eU-O>4Zh*h4Hl@rko>` z!XS)><1i`;UO-oHf^QU5@l?WafFQ>wp9OnIC#(i_o~hNQws*|_NNh~`I>7UKIpK@C zeQ`As(0t++^!S^WEfY`p&+xjezuic=MnkI;Oi}H@=C@6?%7v4D3I~40N8v`qk&4@b zb`J?zzBE^qNE>Lk!?s~*EU<*3#I_&Ljq?^L{*IN9@bB5m3O>eXdEr&V(rWyE;Dr;{ z(FS0x9`UMKv_eyBJZdl?%rc#dq^faAk87aN6A!pSR}A-x8fjf1ypJ3FS`|MsBym&t zoa8LUx5RhX^jk=8IOssaO#-?x#j)ZfU>dhLlQ6@@9rog%(1j3VYvJF~QS6MP^8#Ik zVki#T9(2VKu?KP-Q8CE>2BjG5iS^!ki@u#$|L*L}IR-8eYo9#CJ%Jvc+>0~@kiigg z7`92Kozq;BDU4tiNfM>Wn8F;XGGv~|ZFJ%ecM(z-Z01Fe`8$_6(Mjh2^323BNXm0u ziwy;kjdDL=jO(u>hH*Y8_`E?UZu;mFE?pNtN!xTWDsbq=Nq0AZZpowj!KF)wTt@?J zn+aWDIF5I1)KOvJ?k^adJ;(L7iw