From 2233543694c38f390c71e41d6a5d56f44c46c890 Mon Sep 17 00:00:00 2001 From: Nathan Date: Wed, 7 Jul 2021 15:42:14 -0400 Subject: [PATCH 1/5] Saving this --- src/main/java/io/zipcoder/Student.java | 59 +++++++++++++ src/test/java/io/zipcoder/StudentTest.java | 78 ++++++++++++++++++ target/classes/io/zipcoder/Classroom.class | Bin 0 -> 276 bytes target/classes/io/zipcoder/Student.class | Bin 0 -> 2647 bytes .../io/zipcoder/ClassroomTest.class | Bin 0 -> 288 bytes .../io/zipcoder/StudentTest.class | Bin 0 -> 2377 bytes 6 files changed, 137 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/Student.java b/src/main/java/io/zipcoder/Student.java index b543e36..c4551bf 100644 --- a/src/main/java/io/zipcoder/Student.java +++ b/src/main/java/io/zipcoder/Student.java @@ -1,4 +1,63 @@ package io.zipcoder; +import java.util.ArrayList; +import java.util.Collections; + public class Student { + private String firstName; + private String lastName; + private ArrayList examScores = new ArrayList<>(); + + + public Student(String firstName, String lastName, Double[] testScores) { + this.firstName = firstName; + this.lastName = lastName; + Collections.addAll(this.examScores, 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 int getNumberOfExamsTaken(){ + return examScores.size(); + } + + public String getExamScores() { + int index = 1; + String result = "Exam Scores:\n"; + for (Double score: examScores) { + result += "Exam " + index + " -> " +score + "\n"; + index++; + } + return result; + } + + public void addExamScore(double newScore) { + examScores.add(newScore); + } + + public void setExamScore(int index, double newScore) { + examScores.set(index - 1, newScore); + } + + public Double getAverageExamScore() { + Double allExamScore = 0.0; + for (Double score: examScores) { + allExamScore += score; + } + return allExamScore/examScores.size(); + } } diff --git a/src/test/java/io/zipcoder/StudentTest.java b/src/test/java/io/zipcoder/StudentTest.java index a9fedec..c921418 100644 --- a/src/test/java/io/zipcoder/StudentTest.java +++ b/src/test/java/io/zipcoder/StudentTest.java @@ -1,5 +1,83 @@ package io.zipcoder; +import org.junit.Assert; +import org.junit.Test; + public class StudentTest { + @Test + public void getFirstName(){ + //given + String expectedFirst = "Sarah"; + Student sarah = new Student(expectedFirst, "Last name", new Double[] {99.0, 100.0}); + //when + String retrievedFirst = sarah.getFirstName(); + //then + Assert.assertEquals(expectedFirst, retrievedFirst); + } + + @Test + public void getExamScoresTest(){ + // Given + String firstName = "Leon"; + String lastName = "Hunter"; + Double[] examScores = { 100.0, 95.0, 123.0, 96.0 }; + Student student = new Student(firstName, lastName, examScores); + // When + String output = student.getExamScores(); + // Then + System.out.println(output); + //Exam Scores: + // Exam 1 -> 100 + // Exam 2 -> 95 + // Exam 3 -> 123 + // Exam 4 -> 96 + } + + @Test + public void addExamScoreTest(){ + // : Given + String firstName = "Leon"; + String lastName = "Hunter"; + Double[] examScores = { }; + Student student = new Student(firstName, lastName, examScores); + + // When + student.addExamScore(100.0); + String output = student.getExamScores(); + + // Then + System.out.println(output); + } + @Test + public void setExamScoreTest(){ + // : Given + String firstName = "Leon"; + String lastName = "Hunter"; + Double[] examScores = { 100.0 }; + Student student = new Student(firstName, lastName, examScores); + + // When + student.setExamScore(1, 150.0); + String output = student.getExamScores(); + + // Then + System.out.println(output); + //150 expected + } + @Test + public void getAvgExamScoreTest(){ + // : Given + String firstName = "Leon"; + String lastName = "Hunter"; + Double[] examScores = { 100.0, 150.0, 250.0, 0.0 }; + Student student = new Student(firstName, lastName, examScores); + + // When + Double output = student.getAverageExamScore(); + + // Then + Assert.assertEquals(125.0,output,0); + 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..e3e3105f62ae6cfc0804ea21349da326cbeab864 GIT binary patch literal 276 zcmZvWy>7xl5QJxqf5347MMBhcK*2TX644-0Sx^wUKbsRAGQQ|+Qt(z(ktlco9x7su zA}V&JPdBqWr@j82F96=r4bi}BfOdcm!T;2SuBL>>aFh_-nOQ4BC)R~p9QLWQUoy?v zd5cXZ^F&%*>wnX&wz?$rV{ODye`lPvVwTIYw8rc|2;s^cY^LVA{-XVuOm^}|MsVQ~ zdQY>2ZoMONS!~2I-Kng?01jVX7jbi#>9Z1d4S3^U(1{HP0n=w29B4A5``becAuGZQ H(?N6t{#`mN 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..dac002688f7895e35630be0aaa3fb83ff85681ec GIT binary patch literal 2647 zcmaJ?TT@e46#jN@CxjEB+`NDq#g-62Dpgwv(xOOBg+PU3)!q)t0goO|XmWx`Z!ewc zZ|HL$eCb0wQ_96ST=uEZW-sdDak+cr(%i3#y>s#MiJLk`5zx)c|EWS)& z067isBoIQb4gI(#hj}?HB#_6VJXnh3T{&NG$3-m5VMW7x8deiHfSep|#PPnIZ^m&; z&bQWZ;f@%Q5rS%{8;UVlaZttyD1VRikXl zy>E=TcPy2PRT|&5whFvkX6DtR>Bv+Pu32$w`F6L6D4=hc?p#B`p0uBGvxa)5$*Z?T zhLU_c!RG5~xARhC*UK|6p~dwpEJJ0*xMw;7;q-7$Ajwl{t&xpZWR;pL>Z>FWwVa~4 zBOrJ&##&Zwmk7(QQMk8YY$<6p6gBX^ZWN1kT&kO%l|18)d0#~$#w?vkG~g6X=ag4B zIn8XFWn;q(oHi>|=cF699q>vlm#XE0IcLez>3&5{%kI>13hM&hs#BYrPe%$TbR5Mo z9mjD@!-kGKuyowTStcmqQ=UMR2_5%f>)3>&ql7Ji&PMBdqy!E&OkNvas#-QXM8~Hn zQ$__SH*BFuYHT_s*OXEay^7O1wsBv_4j$;(#b-J`#}_2tqSczBFRtA+3q%PJ@}jev zjihrfg>_4$!3JPSdK*WVOSVk}tK^VZj0K#rZGln0=agg(mu#@Bz0ld=Tg<0o?Na)< zRgcqGYi)&4i_cf0-7zY8bBB~kMP7B(rn%5Qv?R2(WjaNHu~v^D@Ti+4XPAL>ZvWfz zE5hR@xLP9r0~dEoHCeT7!>*c(?5bY&ci>LFJHu2_o(9fpA((KO{Vy<-&b2t+Z{jmA zs$acT8C8ikixd2*AK=Fz%-?7BFIOSi!fIwyL*S%Z4gwj=Fyr=g^>Vd`zJ;%ac=-JHQK?B-73UZp>CYQf4#s1PAwUDA1c;xzDgWCju%b>*Y=oZbqqk3737y>trP#L8pZ5 zj}+4i_3%E_b7Xd2p{5jt&N^zRp9e7%eu&7kxZ>k~=i|>DAn?3jg@sYS3P-u{s*oSq z!;vxmFG#)W)3aP?ocY#qx0 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..94b5da55a312f0b8571ebb6b1f3763ffdf71058d GIT binary patch literal 288 zcmZ`!yKcfj5S%rBfN=oPAu2kc;F@$nG)SqeP=M&q<^+d~FFKnP`75eO6np?56|uHx zQe;;e?ac0swD;fZ4ZtgUAsToI&azSW}CtHHMG&@D;#yVFY=ToBWMkX06 z{n(^3+e)h|{uJHvpbNq<)<%5m&y>AZEHhaY)|k^q73CWtT${5^)w`}^{%mJQ`6VN` z@Cbu{GYGxvPGmCQi&b(|X^9aW{-P@4<^V>YnW#D7O@BZa790eOKFeT3lQF7i4=seu J2yI3O(F2lmKNkQ1 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..0b1893afdd985ac94bb758c6320c1a2a556170d1 GIT binary patch literal 2377 zcmai0T~`xV6x~CTNeBbR5WrZiR4Inf*xIUqV$gtq0h9njZM8#k2}6?%P9`kdKhU4j zXZwJzcD41nYxOU6b>Ep`GGbWGL+0Ld&pl`FeRgK$?|*;$6Tnxn;~2)n81hlf$FLB^ zBQ>}Eo<~3&5iF{?9cRN`2ut#7IgZCD#IO>>s+xQD-Z@rtFHRQQt^Bo4Ji*gA)=`u< zH`Ls&nRy@1a zkzXaf-mKe3O>7wrgXre!b<@^u!>kirqF`E;>_L+(vmU1N#5Dg}uN6zCB^olQpmVPU zGFH`3@WzFor=a(F0BzoEvK7%p8!lmLX*TV{CW|HXa@lX-)=xA7J>5_*Vay#>P9+8v z@q5IJX45K(1w)P^5m0zi%BSHvGL)_8%GTRv8YEaCslmE4g+xnqw}pmp@trL5Lc=6p zM)AD{9lP{HL6~(iTcp6k(om9zWeoy*QB*YS!_aVmA2d`^(@=-0;SjInZD#L-0~lxn z$J3+*V{P|vmZp}Wfo(Qn8Gxx%#i#HiG^9A z6L)zUIYsQAPwW?uSk@&LBC%7Tsr)h0XM(?q7{O=Qc7zZ|sp%MLOyUXw4HLv9m6gMH z31oc&<352Ak3bhE;u0932rhx)GYHK31m1WArd$Hy;ABoQ;hZiWzBsNP8=NNq$pfcrCx#d&2=}}4XN8(Z$bY>}MapMds_kAk=u&XrL<{2itcw(~4 zuE~1ZTI|X+Z8#_`c9jX&Ji86G?B-7F5os>6-4cI{%LKcE9RGY2@Dv;T8_}BBrcZO- fr@7|QoFH_U<`m86PArE$S}ymI<>pAN0}uWK2)EQr literal 0 HcmV?d00001 From 978e017877e9eaa566f37734afdc36989e8f3151 Mon Sep 17 00:00:00 2001 From: Nathan Date: Wed, 7 Jul 2021 16:03:48 -0400 Subject: [PATCH 2/5] Finished Student --- src/main/java/io/zipcoder/Student.java | 19 +++++++++++++++++- src/test/java/io/zipcoder/StudentTest.java | 15 ++++++++++++++ target/classes/io/zipcoder/Student.class | Bin 2647 -> 2851 bytes .../io/zipcoder/StudentTest.class | Bin 2377 -> 2628 bytes 4 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/Student.java b/src/main/java/io/zipcoder/Student.java index c4551bf..18b7b53 100644 --- a/src/main/java/io/zipcoder/Student.java +++ b/src/main/java/io/zipcoder/Student.java @@ -3,7 +3,7 @@ import java.util.ArrayList; import java.util.Collections; -public class Student { +public class Student extends Object { private String firstName; private String lastName; private ArrayList examScores = new ArrayList<>(); @@ -60,4 +60,21 @@ public Double getAverageExamScore() { } return allExamScore/examScores.size(); } + + /** + * Student Name: Leon Hunter + * > Average Score: 125 + * > Exam Scores: + * Exam 1 -> 100 + * Exam 2 -> 150 + * Exam 3 -> 250 + * Exam 4 -> 0 + */ + + @Override + public String toString(){ + String result = "Student Name: " + firstName + " " + lastName + "\n" + + "Average Score: " + getAverageExamScore() + "\n" + getExamScores(); + return result; + } } diff --git a/src/test/java/io/zipcoder/StudentTest.java b/src/test/java/io/zipcoder/StudentTest.java index c921418..3bab0ad 100644 --- a/src/test/java/io/zipcoder/StudentTest.java +++ b/src/test/java/io/zipcoder/StudentTest.java @@ -80,4 +80,19 @@ public void getAvgExamScoreTest(){ Assert.assertEquals(125.0,output,0); System.out.println(output); } + + @Test + public void toStringTest(){ + // : Given + String firstName = "Leon"; + String lastName = "Hunter"; + Double[] examScores = { 100.0, 150.0, 250.0, 0.0 }; + Student student = new Student(firstName, lastName, examScores); + + // When + String output = student.toString(); + + // Then + System.out.println(output); + } } \ No newline at end of file diff --git a/target/classes/io/zipcoder/Student.class b/target/classes/io/zipcoder/Student.class index dac002688f7895e35630be0aaa3fb83ff85681ec..1172edc53292e47d81e758247e4a5a73a0dcb9eb 100644 GIT binary patch delta 1274 zcmZ`(TTc^V5Ix`0?rzH#8&Dvkuuv5Ru>#%z0r9TfRJ`9SRICcsT2K(J;yv-j>_5=N zXNg*kCMLf6;H&Tc3r#eh`C7pkP1>2+eluszocXq2=07XVeERwB1AsMn7(_MtE$j)x zKz{%(_KMjjW*~_DI3NcHZ5$GRxDcChM9fhO$1EHVq6qzBPS`jp{*;Z=;$t?>h#w3h zgdwSoi#aQg!*)5&*+|$pA7q;gVlG-3u`oJwccI}+TDasrH6{agIysO|B}Rw6g$0%7 z3S3qwdGfKO&B0PEb5MhbgC&SqNIAHIw1Y9UD1^3Mi;cJggUM9(Mz0ijT<S5&8n6Lp4P!f8^J0>=_L{*r6a*I zbhH|c?4rpt^HzJ!{#1ogU8BeZsSq;XGL&tT7B$^V({R=Yf43_*%pMS{k&39eZ#OZ$5i9eIO!#T8kEIkBIv zcu_7kC0;CX7L{4dFJ8d7n-5j=S(NtF&s~=y&7+6^1HEL`_s7!P^W56lPgWqx^s+OT F^9z?un05dF delta 1064 zcmZ`&TTc^F5dO~6y>vZA5)2xPbfG8;LZwgygdzeef`}9^c&}Ko2vpjFfS0~$B9Hsv z5AenNC~cA!a0IF(;A2Blm4dsAC>! z0bPYj%p)VM%o_*-|yb@k3n~G)A$+;=_hyJp~ zPa^|Ls2$=%md2EnCXx`SQFahE*|j)G@{s$&Xccwt7bB26OkeBaAsNIGviJ$AOhQ?l zOH)<@j#3qYMl^8_@`XrqlwSW4`g<}o)R8olvmBgS<^u|;1woFHhrv;b*5FQ>aFhCL`JAcn?gEt1%R?5vaCRfeVjuhbUy}Ej$hs}YAb5{`?xJeI`q47Tb!e} dkV8ioPLof7n<<6%2R@Tu>ZOLfXUMDJ>|fttaS;Fj diff --git a/target/test-classes/io/zipcoder/StudentTest.class b/target/test-classes/io/zipcoder/StudentTest.class index 0b1893afdd985ac94bb758c6320c1a2a556170d1..e661459157f66bf0d658af587288a7ea0fb93a53 100644 GIT binary patch delta 1006 zcmZ{iOHUI~6vuzlG7ria4M7Xhh^SBsA}EL!1V#`j4@G&l6$Fa~@zE+2HF4o*FkQHE z?@}~zVWMH-20wrwz%SuSU3r!UziP?3^o!iya@Cy zEV5+N$Q_$j(k9C`cgbj!jc0OM4I{pp&1cqaR#b4+<{oP%_iY~V(B=_Yn;egAo*+3J ziiaxb@M*2f#@TXR%VU_UI(IC>)XQBx=Dz>Rms~?Fp%b6jbvS-BF?!Qh8XT{S* zUX+03&g+iWTzI1&9aLFOl!yWb`7bH^=I^BL3y?(#+ zdFhujP9;^pUdezlzh9h7Za;%TV)7Rd)-k&1mVVtF;<7Nx=%<_>iRyb8y&mJcp)`lh z$S%fi%_TB-=ovNN4v+UqTXYipvGgg?Za?9 zM%r2t#*P)q{GHW|&zSTX6CR^QHe9?%Or}Y*H$=L2)HgoLCfMM6rD3pgwhXW4x~#Z`{@@`ikQ1HQb{Dr5dC PojoHsSb8r5F8t~rhsAUt delta 828 zcmZ{h-){_26vsca)44O<-UpEiLZS`2KdQD`$|~(BYqzVER@tSLvQ^ZsAN4Apyo&5U z;k6NwkVqw7_+LCrJcx65ZYPU$lDYSuIp6dBoO|YL_qVOZ@4r8O1`e~Dq>s}9XM73) zXMKt)tgK54l6aI@46MY9UoCbJ6vo7E|qdxD8SD^Oae From 336f03737954a7202afd5f68ec0e590a87c1a94c Mon Sep 17 00:00:00 2001 From: Nathan Date: Thu, 8 Jul 2021 21:24:38 -0400 Subject: [PATCH 3/5] send it --- src/main/java/io/zipcoder/Classroom.java | 93 +++++++++++ src/main/java/io/zipcoder/Student.java | 21 ++- src/main/java/io/zipcoder/StudentSorter.java | 7 + src/test/java/io/zipcoder/ClassroomTest.java | 155 ++++++++++++++++++ src/test/java/io/zipcoder/StudentTest.java | 12 +- target/classes/io/zipcoder/Classroom.class | Bin 276 -> 3466 bytes target/classes/io/zipcoder/Student.class | Bin 2851 -> 3470 bytes .../classes/io/zipcoder/StudentSorter.class | Bin 0 -> 452 bytes .../io/zipcoder/ClassroomTest.class | Bin 288 -> 4750 bytes .../io/zipcoder/StudentTest.class | Bin 2628 -> 2664 bytes 10 files changed, 279 insertions(+), 9 deletions(-) create mode 100644 src/main/java/io/zipcoder/StudentSorter.java create mode 100644 target/classes/io/zipcoder/StudentSorter.class diff --git a/src/main/java/io/zipcoder/Classroom.java b/src/main/java/io/zipcoder/Classroom.java index 64566f0..b284656 100644 --- a/src/main/java/io/zipcoder/Classroom.java +++ b/src/main/java/io/zipcoder/Classroom.java @@ -1,4 +1,97 @@ package io.zipcoder; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; + public class Classroom { + private Student[] studentsInClass; + + public Classroom(int numberOfStudents) { + studentsInClass = new Student[numberOfStudents]; + } + public Classroom(Student[] students){ + this.studentsInClass = new Student[students.length]; + for (int i = 0; i < students.length; i++) { + studentsInClass[i] = students[i]; + } + } + public Classroom(){ + this.studentsInClass = new Student[30]; + } + + public Student[] getStudents() { + return studentsInClass; + } + + + public Double getClassAverageExamScore() { + Double average = 0.0; + for (Student student: studentsInClass) { + average += student.getAverageExamScore(); + } + return average/studentsInClass.length; + } + + public void addStudent(Student student) { + ArrayList addingStudents = new ArrayList<>(Arrays.asList(studentsInClass)); + addingStudents.add(student); + this.studentsInClass = addingStudents.toArray(new Student[0]); + } + + public void removeStudent(String firstName, String lastName) { + ArrayList removingStudent = new ArrayList<>(Arrays.asList(studentsInClass)); + for (Student student:removingStudent) { + if(student.getFirstName().equals(firstName) && student.getLastName().equals(lastName)){ + removingStudent.remove(student); + removingStudent.add(null); + break; + } + } + this.studentsInClass = removingStudent.toArray(new Student[0]); + } + + + public void getStudentByScore() { + Arrays.sort(studentsInClass); +// ArrayList haveSameScores = new ArrayList<>(); +// for (int i = 0; i < studentsInClass.length; i++) { +// if(studentsInClass[i].getAverageExamScore().equals(studentsInClass[i+1].getAverageExamScore()){ +// haveSameScores.add(studentsInClass[i+1]); +// } +// } +// + //Arrays.sort(studentsInClass, (s1, s2) -> s1.getLastName().compareTo(s2.getLastName())); + } + + public void getGradedBook(){ + //get exam averages of all student + //get total count + //get the mean(avg) + //get standard deviation + + //Assign letter grades to students + double result = 0.0; + double standardDevi = 0.0; + for (Student eachStudent : studentsInClass) { + Double classAvg = getClassAverageExamScore(); + Double studentAvg = eachStudent.getAverageExamScore(); + Integer numOfStudents = studentsInClass.length; + + result += Math.pow(studentAvg- classAvg, 2); + standardDevi = Math.sqrt(result/(numOfStudents - 1)); + + if (studentAvg >= (classAvg + (standardDevi * 2))) { + eachStudent.setLetterGrade("A"); + } else if (studentAvg >= (classAvg + (standardDevi))){ + eachStudent.setLetterGrade("B"); + } else if (studentAvg < (classAvg + standardDevi) && studentAvg > classAvg){ + eachStudent.setLetterGrade("C"); + } else if (studentAvg <= (classAvg - standardDevi)) { + eachStudent.setLetterGrade("D"); + } else if (studentAvg <= (classAvg - (standardDevi * 2))) { + eachStudent.setLetterGrade("F"); } + } + + } } diff --git a/src/main/java/io/zipcoder/Student.java b/src/main/java/io/zipcoder/Student.java index 18b7b53..cfabb11 100644 --- a/src/main/java/io/zipcoder/Student.java +++ b/src/main/java/io/zipcoder/Student.java @@ -3,16 +3,25 @@ import java.util.ArrayList; import java.util.Collections; -public class Student extends Object { +public class Student extends Object implements Comparable { private String firstName; private String lastName; private ArrayList examScores = new ArrayList<>(); + String letterGrade; - public Student(String firstName, String lastName, Double[] testScores) { + public Student(String firstName, String lastName, Double[] testScores, String letterGrade) { this.firstName = firstName; this.lastName = lastName; Collections.addAll(this.examScores, testScores); + this.letterGrade = letterGrade; + } + public String getLetterGrade() { + return this.letterGrade; + } + + public void setLetterGrade(String letterGrade) { + this.letterGrade = letterGrade; } public String getFirstName() { @@ -74,7 +83,13 @@ public Double getAverageExamScore() { @Override public String toString(){ String result = "Student Name: " + firstName + " " + lastName + "\n" + - "Average Score: " + getAverageExamScore() + "\n" + getExamScores(); + "Average Score: " + getAverageExamScore() + "\n" + getExamScores() + + "Letter Grade:" + getLetterGrade(); return result; } + + @Override + public int compareTo(Student student) { + return (int) (this.getAverageExamScore() - student.getAverageExamScore()); + } } diff --git a/src/main/java/io/zipcoder/StudentSorter.java b/src/main/java/io/zipcoder/StudentSorter.java new file mode 100644 index 0000000..1c97dfc --- /dev/null +++ b/src/main/java/io/zipcoder/StudentSorter.java @@ -0,0 +1,7 @@ +package io.zipcoder; + +public class StudentSorter { + public Student[] sort(Student[] studentArray){ + return null; + } +} diff --git a/src/test/java/io/zipcoder/ClassroomTest.java b/src/test/java/io/zipcoder/ClassroomTest.java index 7bac1ff..7b1b4e7 100644 --- a/src/test/java/io/zipcoder/ClassroomTest.java +++ b/src/test/java/io/zipcoder/ClassroomTest.java @@ -1,4 +1,159 @@ package io.zipcoder; +import org.junit.Assert; +import org.junit.Test; + +import java.util.Arrays; + public class ClassroomTest { + @Test + public void getAvgExamScoresTest(){ + // : 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.getClassAverageExamScore(); + // Then + System.out.println(output); + Assert.assertEquals(125.0, output, 0); + } + + @Test + public void addStudentTest(){ + // : Given + //Making old students + Double[] examScores1 = {123.0, 159.0, 170.0}; + Student jack = new Student("Jack","Smith", examScores1, ""); + Double[] examScores2 = {230.4, 215.0, 50.2}; + Student kate = new Student("Kate", "Green", examScores2, ""); + + //Putting students into classroom + Student[] oldStudents = {jack, kate}; + Classroom classroom = new Classroom(oldStudents); + + //New student + Double[] examScores = { 100.0, 150.0, 250.0, 0.0 }; + Student student = new Student("Leon", "Hunter", examScores, ""); + + // When + //populate class + Student[] preEnrollment = classroom.getStudents(); + //Add leon + 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); + } + + @Test + public void removeStudentTest(){ + // : Given + //Making old students + Double[] examScores1 = {123.0, 159.0, 170.0}; + Student jack = new Student("Jack","Smith", examScores1, ""); + Double[] examScores2 = {230.4, 215.0, 50.2}; + Student kate = new Student("Kate", "Green", examScores2, ""); + Double[] examScores = { 100.0, 150.0, 250.0, 0.0 }; + Student leon = new Student("Leon", "Hunter", examScores, ""); + + //Putting students into classroom + Student[] oldStudents = {jack, kate, leon}; + Classroom classroom = new Classroom(oldStudents); + + // When + //populate class + Student[] preEnrollment = classroom.getStudents(); + //Add leon + classroom.removeStudent("Leon", "Hunter"); + 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); + } + + @Test + public void getStudentByScoreTest(){ + // : Given + //Making old students + Double[] examScores1 = {123.0, 159.0, 170.0}; + Student jack = new Student("Jack","Smith", examScores1, ""); + Double[] examScores2 = {230.4, 215.0, 50.2}; + Student kate = new Student("Kate", "Green", examScores2, ""); + Double[] examScores = { 100.0, 150.0, 250.0, 0.0 }; + Student leon = new Student("Leon", "Hunter", examScores, ""); + + //Putting students into classroom + Student[] allStudents = {jack, kate, leon}; + Classroom classroom = new Classroom(allStudents); + + //Before sorting + String preSorting = Arrays.toString(classroom.getStudents()); + //Sorting students + classroom.getStudentByScore(); + String postSorting = Arrays.toString(classroom.getStudents()); + + System.out.println("==========================="); + System.out.println(preSorting); + System.out.println("==========================="); + System.out.println(postSorting); + } + + @Test + public void getGradeBook() { + // : Given + //Making old students + Double[] examScores1 = {70.0, 90.0, 77.0}; + Student jack = new Student("Jack","Smith", examScores1, "TEST"); + + Double[] examScores2 = {69.4, 94.0, 88.2}; + Student kate = new Student("Kate", "Green", examScores2, "TEST"); + + Double[] examScores3 = { 100.0, 93.0, 87.0}; + Student leon = new Student("Leon", "Hunter", examScores3, "TEST"); + + Double[] examScores4 = {87.4, 60.0, 50.2}; + Student tim = new Student("Tim", "Bo", examScores4, "TEST"); + + Double[] examScore5 = { 71.0, 82.0, 83.0}; + Student brian = new Student("Brian", "Jackson", examScore5, "TEST"); + brian.setLetterGrade("IM STUPID"); + String brainLetterGrade = brian.getLetterGrade(); + System.out.println(brainLetterGrade); + + //Putting students into classroom + Student[] allStudents = {jack, kate, leon, tim, brian}; + Classroom classroom = new Classroom(allStudents); + + //When + String preGrading = Arrays.toString(classroom.getStudents()); + classroom.getGradedBook(); + String postGrading = Arrays.toString(classroom.getStudents()); + //Then + System.out.println(preGrading); + System.out.println("==========================="); + System.out.println(postGrading); + + + } + } diff --git a/src/test/java/io/zipcoder/StudentTest.java b/src/test/java/io/zipcoder/StudentTest.java index 3bab0ad..21b5d37 100644 --- a/src/test/java/io/zipcoder/StudentTest.java +++ b/src/test/java/io/zipcoder/StudentTest.java @@ -9,7 +9,7 @@ public class StudentTest { public void getFirstName(){ //given String expectedFirst = "Sarah"; - Student sarah = new Student(expectedFirst, "Last name", new Double[] {99.0, 100.0}); + Student sarah = new Student(expectedFirst, "Last name", new Double[] {99.0, 100.0}, ""); //when String retrievedFirst = sarah.getFirstName(); //then @@ -22,7 +22,7 @@ public void getExamScoresTest(){ String firstName = "Leon"; String lastName = "Hunter"; Double[] examScores = { 100.0, 95.0, 123.0, 96.0 }; - Student student = new Student(firstName, lastName, examScores); + Student student = new Student(firstName, lastName, examScores, ""); // When String output = student.getExamScores(); // Then @@ -40,7 +40,7 @@ public void addExamScoreTest(){ String firstName = "Leon"; String lastName = "Hunter"; Double[] examScores = { }; - Student student = new Student(firstName, lastName, examScores); + Student student = new Student(firstName, lastName, examScores, ""); // When student.addExamScore(100.0); @@ -55,7 +55,7 @@ public void setExamScoreTest(){ String firstName = "Leon"; String lastName = "Hunter"; Double[] examScores = { 100.0 }; - Student student = new Student(firstName, lastName, examScores); + Student student = new Student(firstName, lastName, examScores, ""); // When student.setExamScore(1, 150.0); @@ -71,7 +71,7 @@ public void getAvgExamScoreTest(){ String firstName = "Leon"; String lastName = "Hunter"; Double[] examScores = { 100.0, 150.0, 250.0, 0.0 }; - Student student = new Student(firstName, lastName, examScores); + Student student = new Student(firstName, lastName, examScores, ""); // When Double output = student.getAverageExamScore(); @@ -87,7 +87,7 @@ public void toStringTest(){ String firstName = "Leon"; String lastName = "Hunter"; Double[] examScores = { 100.0, 150.0, 250.0, 0.0 }; - Student student = new Student(firstName, lastName, examScores); + Student student = new Student(firstName, lastName, examScores, ""); // When String output = student.toString(); diff --git a/target/classes/io/zipcoder/Classroom.class b/target/classes/io/zipcoder/Classroom.class index e3e3105f62ae6cfc0804ea21349da326cbeab864..0d51d1f733477e826a51f6070a1cb50281fa245c 100644 GIT binary patch literal 3466 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 diff --git a/target/classes/io/zipcoder/StudentSorter.class b/target/classes/io/zipcoder/StudentSorter.class new file mode 100644 index 0000000000000000000000000000000000000000..ed12bdcfd75875ef1699f482ea526ae24558c649 GIT binary patch literal 452 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 U$81g9PpSTbntXtGgz(_M0j^w6$N&HU delta 126 zcmeBEUBD!I>ff$?3=9k=3<6vX%nZEj41DYi{FB=mQzqB3C^54zuui_fsvpdt$iM`Y z1_4GO1PTL5HXu(Q%x7R=)!NR$xDhD8#J~wG2A| diff --git a/target/test-classes/io/zipcoder/StudentTest.class b/target/test-classes/io/zipcoder/StudentTest.class index e661459157f66bf0d658af587288a7ea0fb93a53..9be6338757b268d5924bf6bc440c977e6603b7f3 100644 GIT binary patch literal 2664 zcmbuBT~`xV6o%g+$s~jU0|YUpvIJX$m!?x!IrZ{EX}uK z9p6N;flV>plG8iRDlyxZ(?;4}D`rpR^o#l|gr_3Mw_@Wn@$h*VFT!{!L4KfDbZbgN zAbEX5LU7h7Xc8`D^@^6Om3K6AUEL`$(v>xK)zXG)>SFE&gVw%Ym5|8l#^@XUaF=_{ z(Y#eFXccQ+t6C`uN>Q`sb+c;a)H080*NzXhT}vz2F>&mHdZdn))Jl;XO}$d&o={aa z)qM#)=bg*v9j3;m+L3ok;&H8F>1Az0uj*7cU8xwBYUxIW;$m6DERG)3NIB|i>ZGQ* zW3`;$HB7B4f)ZNy8X_YlwXQd+dFv!}KlQ227&WG%nsC(tW-X1Hby(wJF||A8i_9Q%?-5iwW(kT9XvM1 z1f6!`8_wZw;sC$LaEAhhxc&?NAP5mM?lKm@S3E_CzGq7u_ay$wsLa?(*M)3XY$fc< zvsDRsowm+U9NqRnj-y8mayHJ*5nK2~FcCaK??mWlTuOvakZ8#7XE}k36wu2wmsp_$ zCeeosE+dPpHpY}Az{6O^eH%l@0wy?W;jVt9@PMaG5`U6tL7vcxDLxIILi^f7`_V-k zbI<}rJ0qL*KfxzWVx*wm{HDrd%S_GUcvd25ZRS5&sW)>;v8OK-WFcM=t0H#XF!WeCl>>20bj;%o*d& zdZ2%}pb!5i=uq<;wMn=wrr9RQ6H0tWK`)7^`oJD~V2d8uoCj9FQ7P|6%{1v?h6ZoJ F+`pFw0dxQW literal 2628 zcmbuBTT|Os6or?tEgK_<0|r8xG&CW^=4RTYNr04?a0w7|3FhXcxd>YrQQIQ2Olki> ze@dUz2a;*0ZJs;RztrhEk}NC4Odpz=SVvpu?7hCdmo)tK&#!*~xPy}@Zec!xg)kmR zuo%XYoZkJwM?e%IEX(PfeZ#u|o`|1J6f0PbU@d}mIlc42ek`Y7))%{t{ZCu5fov3; z*b*nV<@BDjOWf_qX(Mg#6?eOG`c?fdgq*1HOdNbJ^nDw~i!feFkRRw3-I|sVNF=u< z1ZRzcCgDOxuV|~a@}6dHs(U3yIx|LIEp4l&F7Dl6&^pko68bW_k@`_T%JZz5%38I8 zR7+DQeb&ZdR>Twahf_+R2fYx3q#C6KN0CV>MM$D@7hO^-7UvLRHmN4v6rQ9qgJu>vbL>Pb*h`GR18bCbfZFXv5a9BQ-?KDrd&-IscHU1EobwF zsZ~W#LhF7*WTd3l^+q*spMC!<-TX6Cg8T}&qCYxtPxrh){L>|)mGVpo&lkT*ld{)#=6 zSYrlGMFp?$TBKpF6!yZ%D=2`qf*H-I5Ok6K)=UNa;$cz20rW5q6?})1f-))!3>+zV z1MaE95~pk8>9KY zgyrK2e@@SYv4(ACs#VRT5Jj~Y^KWWuiO#y^uj+`M@>O*sqD1>ghU3T@kl7!qmR9EL zNAC#7+fUe?b-oK0#b|1o9_wlnW@C=TrVox~$a?h=Q8LMwv2raD_Pzafwt?hJ;0M<^GF zLw=7)HW!SeRV?12ZDr&X%Ifgwd$c#o^zi!(wDIGqU;rIV9AlA-cG)2(wOcm8*f_pq z`2p_#3b!dCNtt&T3*c*J5t8rnD&d|d@K5HK8GF*%k?Fj!5_ZMenuNHRtuhoxr@fHl zh>OLl4Kp%I*^|M(;3;}0L%*Q6FLa7a4e_6|l|T>6_p-<(_N5O~_zaJ570b9`Lrgp6 zJ%~lzw;^QAV}h#|p1Oibo(u4Q3=aqvWQJCJ!>6G$VACGh&n{TX0Sgf9jA(ZL6n*E4 zzm5pSCs@hJHS#F6K z%apx>G}e*9Q~sf`;lteWFgHBRH5YS~b9W{-LGwA7X>_w?GoM)Qk%!3%*_ccJ3-jjr xZ_*CYc3C1v>CY(j1<_s;Ht)j{*y1Y`z=DT0>tWU3qzUg$N}n^mS>|ZL+`rJ__%Z+h From 8f1fa268d56e958d98600aa8d2a97d34a87f21ed Mon Sep 17 00:00:00 2001 From: Nathan Date: Thu, 8 Jul 2021 21:39:54 -0400 Subject: [PATCH 4/5] edited toString --- src/main/java/io/zipcoder/Classroom.java | 23 +++++------------- src/main/java/io/zipcoder/Student.java | 4 +-- src/test/java/io/zipcoder/ClassroomTest.java | 7 ++---- target/classes/io/zipcoder/Classroom.class | Bin 3466 -> 3497 bytes target/classes/io/zipcoder/Student.class | Bin 3470 -> 3475 bytes .../io/zipcoder/ClassroomTest.class | Bin 4750 -> 4653 bytes 6 files changed, 10 insertions(+), 24 deletions(-) diff --git a/src/main/java/io/zipcoder/Classroom.java b/src/main/java/io/zipcoder/Classroom.java index b284656..ab27fa4 100644 --- a/src/main/java/io/zipcoder/Classroom.java +++ b/src/main/java/io/zipcoder/Classroom.java @@ -2,9 +2,8 @@ import java.util.ArrayList; import java.util.Arrays; -import java.util.Collections; -public class Classroom { +public class Classroom{ private Student[] studentsInClass; public Classroom(int numberOfStudents) { @@ -12,9 +11,11 @@ public Classroom(int numberOfStudents) { } public Classroom(Student[] students){ this.studentsInClass = new Student[students.length]; - for (int i = 0; i < students.length; i++) { - studentsInClass[i] = students[i]; - } + System.arraycopy(students, 0, studentsInClass, 0, students.length); + +// for (int i = 0; i < students.length; i++) { +// studentsInClass[i] = students[i]; +// } } public Classroom(){ this.studentsInClass = new Student[30]; @@ -54,21 +55,9 @@ public void removeStudent(String firstName, String lastName) { public void getStudentByScore() { Arrays.sort(studentsInClass); -// ArrayList haveSameScores = new ArrayList<>(); -// for (int i = 0; i < studentsInClass.length; i++) { -// if(studentsInClass[i].getAverageExamScore().equals(studentsInClass[i+1].getAverageExamScore()){ -// haveSameScores.add(studentsInClass[i+1]); -// } -// } -// - //Arrays.sort(studentsInClass, (s1, s2) -> s1.getLastName().compareTo(s2.getLastName())); } public void getGradedBook(){ - //get exam averages of all student - //get total count - //get the mean(avg) - //get standard deviation //Assign letter grades to students double result = 0.0; diff --git a/src/main/java/io/zipcoder/Student.java b/src/main/java/io/zipcoder/Student.java index cfabb11..4cd19c7 100644 --- a/src/main/java/io/zipcoder/Student.java +++ b/src/main/java/io/zipcoder/Student.java @@ -3,7 +3,7 @@ import java.util.ArrayList; import java.util.Collections; -public class Student extends Object implements Comparable { +public class Student implements Comparable { private String firstName; private String lastName; private ArrayList examScores = new ArrayList<>(); @@ -84,7 +84,7 @@ public Double getAverageExamScore() { public String toString(){ String result = "Student Name: " + firstName + " " + lastName + "\n" + "Average Score: " + getAverageExamScore() + "\n" + getExamScores() + - "Letter Grade:" + getLetterGrade(); + "Letter Grade:" + getLetterGrade() + "\n"; return result; } diff --git a/src/test/java/io/zipcoder/ClassroomTest.java b/src/test/java/io/zipcoder/ClassroomTest.java index 7b1b4e7..6101585 100644 --- a/src/test/java/io/zipcoder/ClassroomTest.java +++ b/src/test/java/io/zipcoder/ClassroomTest.java @@ -136,9 +136,6 @@ public void getGradeBook() { Double[] examScore5 = { 71.0, 82.0, 83.0}; Student brian = new Student("Brian", "Jackson", examScore5, "TEST"); - brian.setLetterGrade("IM STUPID"); - String brainLetterGrade = brian.getLetterGrade(); - System.out.println(brainLetterGrade); //Putting students into classroom Student[] allStudents = {jack, kate, leon, tim, brian}; @@ -148,12 +145,12 @@ public void getGradeBook() { String preGrading = Arrays.toString(classroom.getStudents()); classroom.getGradedBook(); String postGrading = Arrays.toString(classroom.getStudents()); + //Then System.out.println(preGrading); - System.out.println("==========================="); + System.out.println("==============AFTER GIVING LETTER GRADE============="); System.out.println(postGrading); - } } diff --git a/target/classes/io/zipcoder/Classroom.class b/target/classes/io/zipcoder/Classroom.class index 0d51d1f733477e826a51f6070a1cb50281fa245c..3879f592ed9b013581d16729cdf85659dc3d9aef 100644 GIT binary patch delta 1855 zcmZuyTT@$A7+oi~b8>P5lyEVGLRt!xgfv=eq3I2%V+%r2K#+QC2!V1(2(8phT1BZ< zt29=qy{NUy_~58h4OB;3eX2hA;vewMH(%75jx#l`eG&*AO=kAlXMgLv?Deg^&uQ1E zuINwye6tK-8$MC737s+?v!VoDDh}as6}#|+7@kyNz*91wR&f|X6$-k=5E4U=j56^I z+t7esG4u)a5f%Ly5VJvH9TJ|yDnpN`Xve6fmPz^ZK*boI5o_aOHlZLQoF)|^6`M6Gx4so&O9t;ShPEsYC^rjmv9aW#oZpLoxK!Evo(l;N51hQb3Q6giP40}`}FSi*(B5qHr z%9D&GI$HWIlrB-o60D0*n=4tEt#QoTrtxID!2RCiQpAwiH}ruXig2Yqp51WZoTb!19B4goRCl5i7-fLTztjx}YU zN3obYD)qU;Cth+oeUd150hWct4<6rtiZ%K_=DtO z{}FWYLov+$9OLT@nlOuIe2#;-ju!mLp8bMH@Ecn3I|KZQM|DCEklHfbB09k9%ZKmj z6W~=G0sFgQi8tiav=C`rse%%@>CmN1bt)(fF;C(u6UY*=O&y)?SxyeQRF{ zoDC#?`1i{t0PFFQfxFPDVZR4e=rXVc2V^;DKt;EPLk1qfqXsne$kHoIpN5cp`@Lw! zfGmSzJ!D`QkIC+^XdjoGBL=-5G0=`D-1jq{{0tmL=$Ock%l3qhC*{(pjxinMI$Cu+ zrQxK8r>C!cQ>q+RppTA?4-6h18�gHrCre($agpy|?ekpmjpI?9lMc)v#KiD5tEr z?B2zDCN`o$9M5Q&HE|yAo0!7|6BltwfwIlS z2l&vMbB-<-$-lt|!fs9(VG83iiVa?OQ< zs{tpxF!_)0RGhwmC~A4)Rm5-)-HF?}Ww%qjAvZ&jg!qjvr5!t(g3+bR@I^j{BNz>? zYnxD&`P5B`=dk0gf!p@zWaJ#=p$PdXI<8W~>@SS<+T!zBn{iv}~Hu&lp15DM+K zE@yd~@$4>r1+7aGS%kg-PfINmGdd%+4t6aG?{%2Vq)4adV{rm~9vfanCRMX!A%-;P z&X!1$3hjzvZ7?blf=r4=g3QpJG55rh$ca1s&TGh3$mzK3@)TT$8n>a#XHKimqg-J0 z)!O@lm>dc^V~V6Z5BGfPyGZPRNjq(3h2h!Cuu*1H%Qc1vNTHo1>_a3|8$s(J#Di?N zRI;AXMp@NukcR|h%jd1{6L86_e^8`B)6m>>i#$~5$YvIm8+j52>1jL*GqWTQ4d_zC zwk-DO;+k>=yV5?ad2d~!DDLs=8~bpQ zeVIfjrm-KNPe&}jPEIFB|$r+%@0CL@!4^6h8%oKOqrk*24G|a8dQ6{ ZIAQI8zs8>eU$Bf`M$Sdg`{+(Z$A8F<3nTyl diff --git a/target/classes/io/zipcoder/Student.class b/target/classes/io/zipcoder/Student.class index a42f8eef5b20af23e28a813cc189d7c15e09d51b..16f447463d068ff43107ff71e8074bbdca3a3503 100644 GIT binary patch delta 56 zcmeB^o-Dl~j)$|4fe8p182l!u^EfjJiA`S4qa^Ob5W!#!6cmFvj)$|8fe8p17(6GZ^Egjl&m%AH&Je+13=|QAh%=Zlm;!n3lb`ae0{|h1 B3Nruz diff --git a/target/test-classes/io/zipcoder/ClassroomTest.class b/target/test-classes/io/zipcoder/ClassroomTest.class index 40d1728701c209c5f91626ea0b3d628ee09f391c..db8224e61b71f54aa6cdea3f2c2f8c77b5fc3ac1 100644 GIT binary patch delta 1461 zcmZ{kU2IfE6vuya+ueKj?%kyyA=<COYI^; zp(qvwtzWHfFSfNpwfKP_fYNGGxMB#39W@V;~)kEPlaSi??Ja%FWDk4OJ(1iogSXS8k@9y8#{Jc)Oo+iggLj<`-gCP5O+H}1 z!H3R9A32_no$izLpAmJy4yc;kg9eA}1{Epz)ZjDc+hKzVok^X~C;QY{&0d#VwJ1T0 zBCjLaos4%TyV~Qmsm*IU+bq6dN>ON!>xE%OPO7U-A*m#owtvr!mL@o2@g+xfj#+%g zah(~96MSuPl2baTExzGfyTn(P_Z?>}zUQpYIg20o(QfrcLnrvjVwRsR&eLM2eI<)6 zE;u0NRoAqdr7P;1qV>y~mo?N!@2Oki&YEg!>#m8KJntLUlA-ptP4yd-t!=G$rBdrD z=6<;zr}*2qlpuq@VCWvjq$wb~vE z#Cx5nCW(ff*{JL2B*|KdzLk}%6HB9trL@vU4)<~=kBF5kXWd9UkK&X51|FkB@VZ#Y zdRedYxa{cQcDd)KGUp1yCGm#D_m}@TS|Z1;2q)~l<{qJ`3^uwnyE5OiG*NzKgG&?V z3{S|(8jb8{qxfy)3=PEB^r3L>B@8 delta 1571 zcmZ{jYj6`)6vzK}lg(~6o1`ri+$ot!XX;R99D~@=nT(Yx6=cSO7^*HUkF*W7C3H&~ z9<9ZqqM$s(7FsG)DJnhyrNxwoMFAB-tX9F-;5WxFe!*etCv`k`lPu_r`{CZZ=bn4+ z@BGiXM@qKe9=!DTsWSk|@RNc?*dbx3t3oFOeF_AmQo+D|yJW1BVan)MpklX-Jra5p z6rh(6d)?^6D+=~uzpG+tg?+SN!K-*J)gEvjkTH1Gc&-biJL#VMRN`<=xP z*Wg12M{=#fP}pRII+|MRjfPkvG%Fr$YfBi$N)(zN%&aBS)7w_Ud1Q)RK;hw zAmMWr7jemy#OV{hz-1L*VpPIcD!#@TLy@^aoMNo$1t(fye<`%c*$<1-SD7c ztUxhzDlPw9V3a~Fjf>44@}#LtvNk}*Qd+CD1Bh6LD9sFY{oxvcpgT;zGEO9-XTC+UF|(H?36f|DizI{#Xrp@s%*P=l z$>yN^da&9eX~AZ!u}IpnK1*_d*w>Pugh5nd9r?*PNqMxBpPQnE&_OE&qbSAG=!7Ro zbt|Uhog~`7;h)LC58d$i7_kc8TUr0IS%0=!M{U-lHfw*DbrX?tE)l(?Z5MI5a2N|L zehI^*Ggnfko}8Iw9kp4n-ekS@Kdc+Ftk=B)XT9N@W9ixo4{83p%{peYp0im8Y}Q>i zYqQO&+pG`aSyGO(hO?|^F&)p5aBg}R#neZgq^m9AZB_$p%r$_}K?&zkBP=(^{Nr7k zQc#`7Dj6JgIF3N=p}cgrJCb;lhM-KjYvx~RD#x=WKIx}+(QuzDH=x~2|eLfET$ z(+HiwU11+zJ!${?c_bf2qPbv3X4d>PA0rw8{FyAmB)|;iPwU!(Ke3fLu#I`JlTAa4 zm7$y6kKJq*_OL4SvTE#Qi_yno*l#_nflLNDIoa%-ob2A5oNRJVP9|mL+<;&4f>rty z^;)L%gE$_?i&meW$3bke`t%o4b2Hi87{@BSL^g%+>hUt~QvxivDxebP466cOf-S`s W+Vv5xhOM;n->iUDfNfUd+y4P@FF%U_ From 12af4e5fd86ae9e762bdef75c037021251074901 Mon Sep 17 00:00:00 2001 From: Nathan Date: Fri, 9 Jul 2021 19:48:13 -0400 Subject: [PATCH 5/5] implemented sorting method --- src/main/java/io/zipcoder/Classroom.java | 19 ++++++-- src/test/java/io/zipcoder/ClassroomTest.java | 46 ++++++++++++++++-- target/classes/io/zipcoder/Classroom.class | Bin 3497 -> 4812 bytes .../io/zipcoder/ClassroomTest.class | Bin 4653 -> 5701 bytes 4 files changed, 58 insertions(+), 7 deletions(-) diff --git a/src/main/java/io/zipcoder/Classroom.java b/src/main/java/io/zipcoder/Classroom.java index ab27fa4..bb55146 100644 --- a/src/main/java/io/zipcoder/Classroom.java +++ b/src/main/java/io/zipcoder/Classroom.java @@ -1,7 +1,6 @@ package io.zipcoder; -import java.util.ArrayList; -import java.util.Arrays; +import java.util.*; public class Classroom{ private Student[] studentsInClass; @@ -54,7 +53,16 @@ public void removeStudent(String firstName, String lastName) { public void getStudentByScore() { - Arrays.sort(studentsInClass); + //Arrays.sort(studentsInClass); + + List sortMe = Arrays.asList(studentsInClass); + Comparator byScore = Comparator.comparing(Student :: getAverageExamScore); + Comparator byLastName = Comparator.comparing(Student :: getLastName); + Comparator byFirstName = Comparator.comparing(Student :: getFirstName); + + Collections.sort(sortMe, byScore.thenComparing(byLastName).thenComparing(byFirstName)); + Collections.reverse(sortMe); + this.studentsInClass = sortMe.toArray(new Student[0]); } public void getGradedBook(){ @@ -63,11 +71,14 @@ public void getGradedBook(){ double result = 0.0; double standardDevi = 0.0; for (Student eachStudent : studentsInClass) { + Double classAvg = getClassAverageExamScore(); Double studentAvg = eachStudent.getAverageExamScore(); + Integer numOfStudents = studentsInClass.length; - result += Math.pow(studentAvg- classAvg, 2); + result += Math.pow(studentAvg - classAvg, 2); + standardDevi = Math.sqrt(result/(numOfStudents - 1)); if (studentAvg >= (classAvg + (standardDevi * 2))) { diff --git a/src/test/java/io/zipcoder/ClassroomTest.java b/src/test/java/io/zipcoder/ClassroomTest.java index 6101585..efdf872 100644 --- a/src/test/java/io/zipcoder/ClassroomTest.java +++ b/src/test/java/io/zipcoder/ClassroomTest.java @@ -112,9 +112,8 @@ public void getStudentByScoreTest(){ classroom.getStudentByScore(); String postSorting = Arrays.toString(classroom.getStudents()); - System.out.println("==========================="); System.out.println(preSorting); - System.out.println("==========================="); + System.out.println("===============AFTER SORTING==============="); System.out.println(postSorting); } @@ -148,9 +147,50 @@ public void getGradeBook() { //Then System.out.println(preGrading); - System.out.println("==============AFTER GIVING LETTER GRADE============="); + System.out.println("==============AFTER GIVING LETTER GRADE ============="); System.out.println(postGrading); } + @Test + public void sortingAndLetterGradeTest() { + // : Given + //Making old students + Double[] examScores1 = {70.0, 90.0, 77.0}; + Student jack = new Student("Jack","Smith", examScores1, "TEST"); + + Double[] examScores2 = {69.4, 94.0, 88.2}; + Student kate = new Student("Kate", "Green", examScores2, "TEST"); + + Double[] examScores3 = { 100.0, 93.0, 87.0}; + Student leon = new Student("Leon", "Hunter", examScores3, "TEST"); + + Double[] examScores4 = {87.4, 60.0, 50.2}; + Student tim = new Student("Tim", "Bo", examScores4, "TEST"); + + Double[] examScore5 = { 71.0, 82.0, 83.0}; + Student brian = new Student("Brian", "Jackson", examScore5, "TEST"); + + Double[] examScore6 = { 80.0, 87.0, 95.0}; + Student jason = new Student("Jason", "White", examScore5, "TEST"); + + Double[] examScore7 = { 80.0, 87.0, 95.0}; + Student lily = new Student("Lily", "White", examScore5, "TEST"); + + //Putting students into classroom + Student[] allStudents = {jack, kate, leon, tim, brian, jason, lily}; + Classroom classroom = new Classroom(allStudents); + + //When + String preGradeAndSort = Arrays.toString(classroom.getStudents()); + classroom.getGradedBook(); + classroom.getStudentByScore(); + String postGradeAndSort = Arrays.toString(classroom.getStudents()); + + //Then + System.out.println(preGradeAndSort); + System.out.println("==============AFTER LETTER GRADE AND SORT ============="); + System.out.println(postGradeAndSort); + } + } diff --git a/target/classes/io/zipcoder/Classroom.class b/target/classes/io/zipcoder/Classroom.class index 3879f592ed9b013581d16729cdf85659dc3d9aef..368685542dfb6c98692b6da09fae161bb22d8ae1 100644 GIT binary patch literal 4812 zcma)9YjhN68Ga^vna%EO5)zWK0m4Nfn;TJVX`29&OMyTVu%S?B)lPON$--u5*_{M} zSCoo(tvA44RJ>r-+SaxqP#dw{+FI-Vu08(q9DjI@$M&2a&(ZjN-^}jJnx&^XCo|uC z-+O)D=Y41Px&L072XH-J45JNWD#k0(iit2%I1)x5j*3eqPj0yAQDQk=fMmQGGZ@Ls&H779+)@<2YG3F8C!ptyV}f)67f zruUD8k-$fT+o>Y{!uS|IF19`)R`-PPNn!R=A$&T7&xD|d@L3gSRh&~$owufvM#jny zWct#2KChtRj=_}Kc`}tvm`NkoIbxr8D+q2$Wm48Q1^)Oz%K_f{C_oE?sf;l^H92bJ z_Uof*?$i#N2|ay4&!xn(v+1`cQnY?uiE-&NXPT2VUz3qG_KrCoDXa`Ah{emtBO(YD zf>+>+i;c**VY%wd;w|NM6)dBmblx*<~KqOD}F>Dn6%RiCe_~}btSa`{Mo|q78*#IOx-u=Up&cD6?$dBT9?URiyFR$2Q_>h-_Y<)Jfz`Ucv!eQ}8cVs4S8Ix=hUG!|i%+4ri z^|qGnuY175fx?y?x$3l@o-+21G5C0Y*)bJK%7Jx2$jPZlhSZUYi|3r3lUq>E+n}Bo zO`u>shpwB76N2MUYBssw?tsf>iabBD7a z6iZ!-x)Y1+OUU8KxvSs?ZvhwE@Rr;)LDR1x;39faYr@Fb+S2DnuTPKFYdWj<=274n zq4$f|f{eu#ki@iMb4Xcy5eQPMIfF0hJX@pA8->)8Z`x8ze53MP$5RD&B3DUCIi`nn zYl3vkn#UCc;{E+C?72`XW4TSp?-+mnmG3& z;*Sc}y6#e$Y4fPjIjB#LCUs6ueN0bq`j8TlN%u*`pUKiezI&#!>0d^?~=5UUuP?pdC7agC{f(cj}5Q*Yd^GIzPhfr29D)EJ)IumK{{>LDQ?tVGX~g+xQ8s@PnDJL#`^h-iS_KU(crj?pN?0ZM_7gb@@}Mcmlphxlw^P z@LB~QuOaxUrtv#`6Q3Gv1-y~J8N^={H()c(39~mkW)CAEr5dH#wt3rbo3Hh8_P6fx9#{4^H*G~y;EVEeh*@w1&?6lzyVKQ&F|@6qWgwc9b8YlOT0^tL6|G6c&cs=ePMb`|JHH zFJN_hy?;|zpluexSYQ?^?+GDy+OJ$(_^a3!8uMpNZVJyn34a4&1Xl9egcVrD^qc5; zjf`Y9WmaGbw&6`us@I7rz=*b^hf(!X_c~N8pauaItt$FdL=`6Z3fA(tAGbK6pQ0&I z=k-q_bV$T8hssL`54AI{$idcjA7Pz^b`?>F9Cmbe;nt%X8whPP)*)VujK-XJ#7e}- zUsj~f4(ueVyXZ`m!QK%ZRInR+oNyKxj6ia%G@Rj%SyXlTWB$viR&X9&VpXHyDk{1H z0@Ni8xAr_%iFIAOT-SAohouKQ6p_hA1TQW;-P*AzAHPI<14#~cOEo*Cjac`Q(7V|w z``9TX%`#s32CQC0xti20I|c9$3Op&PI}F9gDS@6zU?0_AtOgx{Sd|GDPm& zN=W#DNWJ~IjWIV$fNo>7f(8e<=a=cW@@~uDUX(vnls{CIKSVhNhYNWtFHuWlY%f>s zs@g3$DQY~wIq2K0)~ofw3wSXWs8=_2g<5B^va2!{VpDa6WfRSzsVmYP3yWT>^M^t8%(utp3=yT@+j;DXaLellh?OR|B5 z=peUlBs2H05QkWTNdkVH3_U~W@4@YOn7fw==d-wj-)?u}Z+Hv-LH(C-mn`TmsI>D8 zPkYGv4*mqWldCXoUZUh%IgVH31-y+^5CnPIDSQR~MSY!x^5dTv<;rI8PN)l<+Cfek zpU)XG3rHgDZm6h`1Bf#y0mPbP3#3em!Ykytk4j?f8u$b6VLJL9{)FH2o$wAmi;?$E U{=WEW4Yo zre&60oqlM_(IK)KXZo!gr(gOb`lV^6sb-v-qVMzWa)Ft%&pzjTzvrCqInQ3N`Fzgs zkN;i01}xz-k7~BN>?mYDJ3Ss^m&Xbow&oF!0FSyn=J7af9uc0frrnwjms0pG61@%Wb6k#AjD#BAP zgDyjtt{--sr!Q{^%ygoM9j14sGg~tK9qIjYJ#B~DlKq+Py~*ajzP7>E?t>YZ zmkh^v*^uBB!>hbzc%3&4Z*tu57AFiR$r?^^+U0G-83ionET;|c*w}YDXSkCFo9sQ8 z^M?2Nz;J;N4IlBbgVSvIgikMj8}1Hx4xxj+eHn*XcC#CGwq<`UJW|12=~gYZ94Vvv zbt=?3!7Z{2vi}rSEU(jD2|?czlBR|t>h&!q1Qc^Cx9QWK7LpXoqHp)nDO11FqGu42 zHL}I}FCos%DGX&33}xJ*3UUmKe1@y0a(FWTEHOmI5cAPS5w@~ieuu@{G}WxTTon+m zyF&0QT?DiYP~ZdNQ^4T~uvE;0zfh6_MYoiU5^k-#lHF0vaD=DW+T~{jS zJfE&g`jj)Br7ZKKTJpqURN*$4=Gs1k{(`2MrSmFv+oUCI*0fvn9#(5gYoz~L^|_9n`W4)#X$|PxFm^++-_t4q3q|*xFpYZ3OZi&JO?uE({3Pr$ z{hY#Id0_+mA+D5$65@9)Mk+tXb+}`C(*;`N;M!n*jmPM~vp2a5mw>a#=M_CMtD-f;i` diff --git a/target/test-classes/io/zipcoder/ClassroomTest.class b/target/test-classes/io/zipcoder/ClassroomTest.class index db8224e61b71f54aa6cdea3f2c2f8c77b5fc3ac1..9885296bdc706957334cccda6abac3bfd7ad99bb 100644 GIT binary patch literal 5701 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 KyGe5Q@zOt}kwg*z