From 567844bc8027f5b52118db31d39acf29afe7431c Mon Sep 17 00:00:00 2001 From: laura Date: Fri, 9 Jul 2021 07:54:33 -0400 Subject: [PATCH 1/4] the Student class --- src/main/java/io/zipcoder/Classroom.java | 5 ++ src/main/java/io/zipcoder/Student.java | 89 ++++++++++++++++++++++++ 2 files changed, 94 insertions(+) diff --git a/src/main/java/io/zipcoder/Classroom.java b/src/main/java/io/zipcoder/Classroom.java index 64566f0..18304d8 100644 --- a/src/main/java/io/zipcoder/Classroom.java +++ b/src/main/java/io/zipcoder/Classroom.java @@ -1,4 +1,9 @@ package io.zipcoder; public class Classroom { + +Student [] students; + + + } } diff --git a/src/main/java/io/zipcoder/Student.java b/src/main/java/io/zipcoder/Student.java index b543e36..909a999 100644 --- a/src/main/java/io/zipcoder/Student.java +++ b/src/main/java/io/zipcoder/Student.java @@ -1,4 +1,93 @@ package io.zipcoder; +import java.util.ArrayList; +import java.util.Arrays; + public class Student { + + String firstName; + String lastName; + ArrayList examScores = new ArrayList<>(); + Double [] testScores; + public Student (String firstName, String lasName, Double [] 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 ArrayList getExamScores() { + return examScores; + } + + // public void setExamScores(ArrayList examScores) { + + // this.examScores = examScores; + // } + + public Double[] getTestScores() { + return testScores; + } + + public void setTestScores(Double[] testScores) { + + this.testScores = testScores; + } + + public int getNumberOfExamsTaken(){ + return testScores.length; + } + + public String GetExamScores(double examScores){ + return Arrays.toString(testScores); + } + + public void addExamScores(double examScore){ + this.examScores.add(examScore); + } + + public void setExamScores(int examNumber, double newScore){ + this.examScores.set(examNumber,newScore); + } + + public double getAverageExamScore(){ + double sum = 0; + for (int i = 0; i < testScores.length; i++) { + sum += examScores.get(i); + } + return sum; + } + + @Override + public String toString(){ + return "NAME: " + firstName + " " + lastName + '\n' + + "Average Score: " + getAverageExamScore() + '\n' + + "Exam Scores: " + getExamScores(); + + + + /*" NAME: " + firstName + lastName + "/n", + " Avrg Exam Score : " + getAverageExamScore() + "/n", + "Exam Score : " + getExamScores();*/ + + + + + } + } From c490274955b42d176d21950d905a3f692e98d4f9 Mon Sep 17 00:00:00 2001 From: laura Date: Sat, 10 Jul 2021 17:58:09 -0400 Subject: [PATCH 2/4] new stuff --- src/main/java/io/zipcoder/Classroom.java | 43 ++++++++- src/main/java/io/zipcoder/Student.java | 53 ++++++----- src/test/java/io/zipcoder/StudentTest.java | 84 ++++++++++++++++++ target/classes/io/zipcoder/Classroom.class | Bin 0 -> 1255 bytes target/classes/io/zipcoder/Student.class | Bin 0 -> 3005 bytes .../io/zipcoder/ClassroomTest.class | Bin 0 -> 288 bytes .../io/zipcoder/StudentTest.class | Bin 0 -> 2380 bytes 7 files changed, 159 insertions(+), 21 deletions(-) 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 18304d8..479c8e7 100644 --- a/src/main/java/io/zipcoder/Classroom.java +++ b/src/main/java/io/zipcoder/Classroom.java @@ -2,8 +2,49 @@ public class Classroom { -Student [] students; +Student[] students; + public Classroom(int maxNumOfStudents){ + + this.students = new Student[maxNumOfStudents]; } + + public Classroom (Student... students){ + + this.students = students; + } + + public Classroom(){ + + this.students = new Student[30]; + } + + + public Student[] getStudents(){ + return this.students; + + } + + public double getAverageExamScores(){ + double todosLosExams = 0; + for( int i = 0; i < students.length; i++){ + if (this.students[i] != null){ + todosLosExams += this.students[i].getAverageExamScore(); + } + } + return todosLosExams / this.students.length; + } + + public void addStudent(Student student){ + for (int i = 0; i < students.length; i++){ + if (students[i] == null){ + students[i] = student; + } + } + } + public void removeStudent (String firstName, String lastName){ + +} + } diff --git a/src/main/java/io/zipcoder/Student.java b/src/main/java/io/zipcoder/Student.java index 909a999..d9d5bf4 100644 --- a/src/main/java/io/zipcoder/Student.java +++ b/src/main/java/io/zipcoder/Student.java @@ -5,12 +5,17 @@ public class Student { - String firstName; - String lastName; - ArrayList examScores = new ArrayList<>(); + private String firstName; + private String lastName; + private ArrayList examScores; Double [] testScores; - public Student (String firstName, String lasName, Double [] testScores){ + + public Student (String firstName, String lasName, Double [] testScores){ + this.firstName = firstName; + this.lastName = lasName; + this.examScores = new ArrayList<>(Arrays.asList(testScores)); + this.testScores = testScores; } public String getFirstName() { @@ -23,6 +28,7 @@ public void setFirstName(String firstName) { } public String getLastName() { + return lastName; } @@ -32,6 +38,7 @@ public void setLastName(String lastName) { } public ArrayList getExamScores() { + return examScores; } @@ -40,37 +47,43 @@ public ArrayList getExamScores() { // this.examScores = examScores; // } - public Double[] getTestScores() { - return testScores; - } - public void setTestScores(Double[] testScores) { - this.testScores = testScores; - } + public Integer getNumberOfExamsTaken(){ + + return this.testScores.length; - public int getNumberOfExamsTaken(){ - return testScores.length; } - public String GetExamScores(double examScores){ - return Arrays.toString(testScores); - } + public String GetExamScores() { + StringBuilder stringOfScores = new StringBuilder(); + for (int i = 0; i < testScores.length; i++) { + stringOfScores.append(testScores[i] + " | "); + stringOfScores = stringOfScores.append(i); + } + return Arrays.toString(testScores); + } + + //} + // return Arrays.toString(examScores); + // } - public void addExamScores(double examScore){ - this.examScores.add(examScore); + public void addExamScores(double testScore){ + + this.examScores.add(testScore); } public void setExamScores(int examNumber, double newScore){ + this.examScores.set(examNumber,newScore); } public double getAverageExamScore(){ - double sum = 0; + double sum = 0.0; for (int i = 0; i < testScores.length; i++) { - sum += examScores.get(i); + sum += testScores[i]; } - return sum; + return sum / testScores.length; } @Override diff --git a/src/test/java/io/zipcoder/StudentTest.java b/src/test/java/io/zipcoder/StudentTest.java index a9fedec..f5ff037 100644 --- a/src/test/java/io/zipcoder/StudentTest.java +++ b/src/test/java/io/zipcoder/StudentTest.java @@ -1,5 +1,89 @@ package io.zipcoder; +import org.junit.Assert; +import org.junit.Test; + public class StudentTest { + @Test + public void studentConstructor(){ + //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 expectedName = student.getFirstName(); + + //THEN + Assert.assertEquals(expectedName, firstName); + } + + @Test + public void getStudentNameTest (){ + //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 nom = student.getFirstName(); + String expected = "Leon"; + + //THEN + Assert.assertEquals(expected, nom); + //System.out.println(nom); + } + + @Test + public void StudenLatNameTest (){ + //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 actualLasName = student.getLastName(); + + //WHEN + Assert.assertEquals(actualLasName, lastName); + } + + @Test + public void getAverageExamScoreTest (){ + //GIVEN + String firstName = "Leon"; + String lastName = "Hunter"; + Double[] examScores = { 98.0, 78.0, 80.0, 80.0 }; + Student student = new Student(firstName, lastName, examScores); + + //WHEN + double expected = 84; + double actua = student.getAverageExamScore(); + + //THEN + Assert.assertEquals(expected, actua, 0.001); + } + + + @Test + public void getnumberOfExamsTakenTest (){ + //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 + int expected = 4; + int actual = student.getNumberOfExamsTaken(); + + //THEN + Assert.assertEquals(expected, actual); +} + + } \ 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..f59471ae2999f37ff2aa230072720148da768165 GIT binary patch literal 1255 zcmZvbOHUI~7>3_7GqfnSl^jnvnPh z`~_}Ys)?7xM3$QPC*1fejJNm9j6+Gf=(&7z-sgMI_nm(G^XVAC71VSja4w1Y5e(tH z4h0vISV+PU820@Aw$<}Jfx?4^?bM&xdo8DJx%FoF;i^F5n%%SgRRPV|Slr^Y#sdPm zhTXI7?RU2=_rAH^VPv%7w9L+y>DqE11vUSXP5R_1_*%#GJlAo$#OJ%_Au*c|ql`Q( zHUvt>U_a7N*Ej4AYy=zT2|a zZCS%?T$)R}=7E{U2*w1)26QHkB!<&i#3WPoe~$^Qtz^_YW^bpyxxH((e4+*v19N;B z3BDD>YKrED6UiQIT_b z5Zet1O`oAjO|FP(vEyD)woqvR2UEK=um$_5yjBWY}~pfDrB+6$;%20 SeYvmD{EGxHN-(KxNA(}0mD$z+ 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..0b045f48305d400c5088307e87b0570637d43c29 GIT binary patch literal 3005 zcmaJ?T~`xV6y1}=e2f#sAXo${)+!;0SZ!?!NQ;1qMzBJ$inblXfTJOy$pk-JZEN*^ z_|m?$U8_V^U5g*kxBiR%hOTAXeeMj&B*eblxgY25v(G-~-1+05-!}ogi)T9a<5CQ7 z;u9GzM=+yf7N6<}VNQ0g$ncqttGE`yybc|gWVjy14f%d9!xu7qDfdhr3&_ajMHwtv zE=92%#Z9rXqqwCL@3t(mQLM-!7ePLPRSmHvyHIqd%oR&RB7MtTGY7I}Zh2tFDcHH? zAq~;2xpl5vcg>ZVOuk?hHMF|MCCAPVj1~&!y|i6)Xdj!gmvg35DiE-@kkfhR|4kk=%Br?VL4LT3N6P zvnEMM`1y>Poihuzti8>UbJJGQ+WCR|_G*TA3lyicXyqi@2-R`LGnOsqOjXN0NiX1lkg?9#QWS=l>!Z>d272+8fo>cy@D>gbS2awn@DUUY6yb<*$-qIp zZJ-Cq2-XbT!Ceh|>$}X8!@xbuv?7jEI@50@x+IQA6s6X!c9|?T^ zS^hqS-KS96ZQSqLdm*VjJ3~%=&9oKSH7R0?+V>4 zp3YiIwZ}NX-^qUd*Fp$LXK)sf=1^Z2KUflKewZWsfTO{^UZgnoarKBdL;N00y?~bL zTSp*uWF5iOON6fWZ(zp@gx3*C^{*rPE6oBp!f_wM9GiG?7h-7UY&W`)pyL+w^Caa$ z;wT2VBDkWaso61-3#ggU36jP;IPQ@d;8(16q<%x-7fxJvVYS(&poKjRJZKFk_(yjm z8KJcRhgB3+vbx&s;GIr|(B@iI$b~&}8s2M2Bv?=JCi4z6* zDv+e4$FE4Fo=BVZ!BfMOMChbwaY#C!(HX8a}e zt1qxK9X!>ku%6>cpSLIL&f{emiFg@JW$fa3rLVJ$=Jb<*_T#^QiophUi|?SXiiQxy zFzeDfS{jFv0)>6j$Id0#r>mAZ)2;e=A|49IY7X3jkcQpvy6&gQfH z&%|-1Y-3RYmx(t+-?M1vcR%JT975<&GKw5Yk4=DOm{t*rjO>zE2n8wPKC!?XpqEzA`%84d!1qx>y%1iE7;?l#KIyDXz0j VZ&2!aMb>Ta36G+NDY_0|`ag4La#R2S 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..2591e8f0feb40516bdf6640138d72eaf84ff23aa GIT binary patch literal 2380 zcmb_e-%}H36g?ZVyBJr6kPJqxirO0FM{2870%Cvw0YXp$5wx{k!V;H;jooY*r%!$H zkLhDylxfFKpZnD5^dISar_=N8ZZ;v!ONSk9XI8|MUC5MDDt9J&xcBHpH>0VpGMI1ZCQ^OlL+yPja{y>}Vdte;mypPtwbZxft1@%#RMBbd8J4qY)SW5j z)xG0<&8jaGSZCVv(^;Y%f^@#CWKP;AOw!uyV z&-1P5Y^^~kj8^>~65`#EFhVn4zcR{>vFG(nY&0y#JTyvX-DHVb%c?oLV-li-zI@HD zqz)RKN~+1BVmLl4kuSWQmsL9?&}Lx?{a#33cZqpH=k&7E(5rd9?lm4{rP(9H)+@$B zla?1LWhKaNH0Q}E%N_puz6h&t>R%g{AGb`+ys8o+#ahEI8;hn;sLzKe;>N|4G~B|6 zlr(SDEGFg1+2HW|Iwz>1gr}Ts7ZF8?Z4EnkrsBDV&+&zZ7kH-OOME4c?6HfoiaiYm z_JyY+VX#Xf4}4qe_1yysLhX+9YQtFHr*_Hga5r_+$u_UQA^-MtSq!ny8b`Uvh8>E=_lhg>NVyx8im?2oL*I8wlScI-X@m>g{j$Ko`N?dyR4{$!s<& zQsNBqZnk#4#YEcCE>pgWVRM`NTMGJ4E~05UB{533I+sLFuB;4~FoYX?`iPeTNh}1v zKjJCHUx~l+op+Fapb^4tKS+coX=`2phH-}{2_sAnxykP#GX_|WhVs##HT6BhJ3TST z$54wq;TU>dLyjTh8cGbBFbY56{LaYe*gITEhZEtq=u689dE^-VEdW>f*aOa@hwT-d zBhK@fLO~?*NJS19ByHa!xe+i zc_;#Ys{y}U!0%eXZy?~O;WL-tBKtg`rF1Zz44D330!D>^qbEpu0*;X6C;^NS<~T{- zCCPgvcK?(Drn?9@70~*F9nWxp8z%)EXzpdaxtD{@y>yKedl^GwQWnd3c~ZS7UsPkb za*V631@%NsyQ`&On*1J;Uxx2lEFsH3unTP>ZUiE(2O{PJ5pM<}4*DWy5T$g}T*M{b z1P^Jc9U{)OvGvxqgYAF13)Kmi>$SJIKB2_rH*w|7F@`$Xu99t@vt1+J0@*&n3^u6d e7Om1L*v{~#et<`0o8x~&8CsnyJ4-b~nEMBn`ovrS literal 0 HcmV?d00001 From d3f90dee1ac51704a51c6f5bff4459df095e14f4 Mon Sep 17 00:00:00 2001 From: laura Date: Sat, 10 Jul 2021 19:55:24 -0400 Subject: [PATCH 3/4] new --- src/main/java/io/zipcoder/Classroom.java | 31 +++++++++++++++++++-- target/classes/io/zipcoder/Classroom.class | Bin 1255 -> 1361 bytes 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/src/main/java/io/zipcoder/Classroom.java b/src/main/java/io/zipcoder/Classroom.java index 479c8e7..2635fa6 100644 --- a/src/main/java/io/zipcoder/Classroom.java +++ b/src/main/java/io/zipcoder/Classroom.java @@ -1,5 +1,7 @@ package io.zipcoder; +import java.util.Arrays; + public class Classroom { Student[] students; @@ -43,8 +45,31 @@ public void addStudent(Student student){ } } } - public void removeStudent (String firstName, String lastName){ - -} + + + public void removeStudent (String firstName, String lastName) { + for (int i = 0; i < students.length; i++) { + if (students[i].getFirstName().equals(firstName) && students[i].getLastName().equals(lastName)) { + students[i] = null; + } + } + + for (int i = 0; i < students.length - 1; i++) { + if (students[i] == null) { + students[i] = students[i + 1]; + students[i + 1] = null; + } + } + + } + + public Student[] getStudentsByScore(){ + Arrays.sort(students); + return students; + + } + } + + diff --git a/target/classes/io/zipcoder/Classroom.class b/target/classes/io/zipcoder/Classroom.class index f59471ae2999f37ff2aa230072720148da768165..e44b5445439b99210c83a7205bab2f2ccbdff62f 100644 GIT binary patch delta 247 zcmaFPd6CQD)W2Q(7#J8#81%Rp*cjB=88kQEe*cr6h8FUyKIEqV3Q&RIv ziWwQiCVrII=#jt}qOReSl~|UjpOcuEt{+@dl$n=qjVYoT#>l{#mRVF>;+L44%E%yu zsRU?zP9j8p@-jvTHeCjBMh4M|{i2&0nN~0bDKaoJa04A^55&ws%(xLqFfs4|Nj9Jq p1A_qrFOXD#NHXv-@B?{3WeiFT%3yg$1{ENS3CLCjiZd~&0RV#0Funi) delta 113 zcmcb}^_E;*csH>88jFfIEqV3Q&RIv ziWwQiCVrII=#juU`5&VlqvmE?rbA4;!VHWI+(0w5ftYbJ537_o4^RZiX5eGs2h)l` Il8HeH05vQUmH+?% From 30251cf50d9fafc84bac03f8aa8133915cfce582 Mon Sep 17 00:00:00 2001 From: laura Date: Sun, 11 Jul 2021 17:46:47 -0400 Subject: [PATCH 4/4] grade book not included --- src/main/java/io/zipcoder/Classroom.java | 140 +++++++++--- src/main/java/io/zipcoder/Student.java | 66 +++--- src/test/java/io/zipcoder/ClassroomTest.java | 200 ++++++++++++++++++ target/classes/io/zipcoder/Classroom.class | Bin 1361 -> 3506 bytes target/classes/io/zipcoder/Student.class | Bin 3005 -> 3005 bytes .../io/zipcoder/ClassroomTest.class | Bin 288 -> 5629 bytes 6 files changed, 340 insertions(+), 66 deletions(-) diff --git a/src/main/java/io/zipcoder/Classroom.java b/src/main/java/io/zipcoder/Classroom.java index 2635fa6..a056799 100644 --- a/src/main/java/io/zipcoder/Classroom.java +++ b/src/main/java/io/zipcoder/Classroom.java @@ -1,10 +1,18 @@ package io.zipcoder; +import org.junit.Test; + +import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; public class Classroom { + int maxStudents; + + Student[] students; + //ArrayList students = new ArrayList<>(); -Student[] students; public Classroom(int maxNumOfStudents){ @@ -23,53 +31,119 @@ public Classroom(){ } - public Student[] getStudents(){ + /*public Student[] getStudents(){ return this.students; + }*/ + + + public void removeStudent(String firstName, String lastName) { + ArrayList studentList = new ArrayList(Arrays.asList(students)); + + for (int i = 0; i < studentList.size(); i++) { + Student student = studentList.get(i); + if (student == null) { + continue; + + } else if(student.getFirstName().equals(firstName) && student.getLastName().equals(lastName)) { + studentList.remove(student); + studentList.add(null); + } + } + this.students = studentList.toArray(new Student[0]); } - public double getAverageExamScores(){ - double todosLosExams = 0; - for( int i = 0; i < students.length; i++){ - if (this.students[i] != null){ - todosLosExams += this.students[i].getAverageExamScore(); - } - } - return todosLosExams / this.students.length; + + public Student[] getStudents() { + //Arrays.sort(students); + return students; + } - public void addStudent(Student student){ - for (int i = 0; i < students.length; i++){ - if (students[i] == null){ - students[i] = student; - } - } + + // + + + public double getAverageExamScore(Student[] student) { + double sum = 0; + for(Student estu : student) { + sum += estu.getAverageExamScore(); + } + //Double studentAverage = sum / student.length; + //return studentAverage; + return sum / students.length; } + public void addStudent (Student student){ + + for (int i = 0; i < students.length; i++){ + if (students[i] == null){ + students[i] = student; + break; + } + } +} + + - public void removeStudent (String firstName, String lastName) { - for (int i = 0; i < students.length; i++) { - if (students[i].getFirstName().equals(firstName) && students[i].getLastName().equals(lastName)) { - students[i] = null; - } - } + public Student[] getStudentByScore() { - for (int i = 0; i < students.length - 1; i++) { - if (students[i] == null) { - students[i] = students[i + 1]; - students[i + 1] = null; - } - } + ArrayList studentList = new ArrayList(Arrays.asList(students)); - } + Comparator byExamScores = Comparator.comparing(Student::getAverageExamScore); + Comparator byFullName = Comparator.comparing(Student::getFirstName); - public Student[] getStudentsByScore(){ - Arrays.sort(students); - return students; + Collections.sort(studentList, byExamScores.reversed().thenComparing(byFullName)); - } + Student[] studentSortByScore = studentList.toArray(new Student[0]); + return studentSortByScore; + +} + +/*public char getDeviationScore (Student student){ + Double averageClassExamScore = this.getAverageExamScore(); + Double averageStudentExamScore = student.getAverageExamScore(); + Double predevition = Math.pow((averageStudentExamScore - averageClassExamScore, 2); + Double standardDeviation = Math.sqrt(preDeviation/(actualStudentCount() -1)); + + if(averageStudentExamScore >= (averageClassExamScore + (standardDeviation * 2))){ + return 'A'; + }else if (averageStudentExamScore >= (averageClassExamScore + standardDeviation)){ + return 'B'; + }else if (averageStudentExamScore < (averageClassExamScore + standardDeviation) && + averageStudentExamScore > averageClassExamScore){ + return 'C'; + }else if (averageStudentExamScore <= (averageClassExamScore + standardDeviation)) { + return 'D'; + }else { + return 'F'; + } +} + + public Map getGradeBook(){ + Student[] studentlist = this.getStudents(); + Map gradeMap = new HasMap<>(); + int length = actualStudentCount(); + for (int i = 0; i < length; i++) { + gradeMap.put(Studentlist[i], getDeviationScore(studentlist[i])); + } + return gradeMap; +} + + + }*/ +////////////////////////////////////////////////////////// + + + /*public void addStudent(Student student) { + students.add(student); + }*/ } + + + + diff --git a/src/main/java/io/zipcoder/Student.java b/src/main/java/io/zipcoder/Student.java index d9d5bf4..ad9b84d 100644 --- a/src/main/java/io/zipcoder/Student.java +++ b/src/main/java/io/zipcoder/Student.java @@ -5,18 +5,19 @@ public class Student { - private String firstName; - private String lastName; + protected String firstName; + protected String lastName; private ArrayList examScores; - Double [] testScores; + Double[] testScores; - public Student (String firstName, String lasName, Double [] testScores){ - this.firstName = firstName; - this.lastName = lasName; - this.examScores = new ArrayList<>(Arrays.asList(testScores)); - this.testScores = testScores; + public Student(String firstName, String lasName, Double[] testScores) { + this.firstName = firstName; + this.lastName = lasName; + this.examScores = new ArrayList<>(Arrays.asList(testScores)); + this.testScores = testScores; } + public String getFirstName() { return firstName; @@ -42,52 +43,51 @@ public ArrayList getExamScores() { return examScores; } - // public void setExamScores(ArrayList examScores) { - - // this.examScores = examScores; - // } + // public void setExamScores(ArrayList examScores) { + // this.examScores = examScores; + // } - public Integer getNumberOfExamsTaken(){ + public Integer getNumberOfExamsTaken() { return this.testScores.length; } - public String GetExamScores() { - StringBuilder stringOfScores = new StringBuilder(); - for (int i = 0; i < testScores.length; i++) { - stringOfScores.append(testScores[i] + " | "); - stringOfScores = stringOfScores.append(i); - } - return Arrays.toString(testScores); - } + public String GetExamScores() { + StringBuilder stringOfScores = new StringBuilder(); + for (int i = 0; i < testScores.length; i++) { + stringOfScores.append(testScores[i] + " | "); + stringOfScores = stringOfScores.append(i); + } + return Arrays.toString(testScores); + } - //} - // return Arrays.toString(examScores); - // } + //} + // return Arrays.toString(examScores); + // } - public void addExamScores(double testScore){ + public void addExamScores(double testScore) { this.examScores.add(testScore); } - public void setExamScores(int examNumber, double newScore){ + public void setExamScores(int examNumber, double newScore) { - this.examScores.set(examNumber,newScore); + this.examScores.set(examNumber, newScore); } - public double getAverageExamScore(){ + public double getAverageExamScore() { double sum = 0.0; for (int i = 0; i < testScores.length; i++) { - sum += testScores[i]; + sum += testScores[i]; } return sum / testScores.length; } - @Override - public String toString(){ + @Override + public String toString() { return "NAME: " + firstName + " " + lastName + '\n' + "Average Score: " + getAverageExamScore() + '\n' + "Exam Scores: " + getExamScores(); @@ -99,8 +99,8 @@ public String toString(){ "Exam Score : " + getExamScores();*/ + } +} - } -} diff --git a/src/test/java/io/zipcoder/ClassroomTest.java b/src/test/java/io/zipcoder/ClassroomTest.java index 7bac1ff..0d28098 100644 --- a/src/test/java/io/zipcoder/ClassroomTest.java +++ b/src/test/java/io/zipcoder/ClassroomTest.java @@ -1,4 +1,204 @@ package io.zipcoder; +import org.junit.Assert; +import org.junit.Test; + +import java.sql.SQLOutput; +import java.util.Arrays; + public class ClassroomTest { + + + @Test + public void ConstructorTestMaxStudents1() { + int givenMaxStudentLength = 50; + Classroom testClassroom = new Classroom(givenMaxStudentLength); + + + Student[] returnedStudentArray = testClassroom.getStudents(); + int returnedArrayLength = returnedStudentArray.length; + + Assert.assertEquals(givenMaxStudentLength, returnedArrayLength); + } + + + @Test + public void ConstructorTestMaxStudents2() { + int givenMaxStudentLength = 50; + Classroom testClassroom = new Classroom(givenMaxStudentLength); + + + Student[] returnedStudentArray = testClassroom.getStudents(); + int returnedArrayLength = returnedStudentArray.length; + + Assert.assertNotEquals(null, returnedArrayLength); + + } + + /////////////////////////////////// + + + @Test + public void getAverageExamScoreTest() { + Double[] studentArr1 = {70.0, 61.0, 87.0, 98.0}; + Double[] studentArr2 = {85.0, 100.0, 88.0, 89.0}; + + Student student1 = new Student("Jimin", "Park", studentArr1); + Student student2 = new Student("Yoongi", "Min", studentArr2); + + + Student[] arrayOfStudents = {student1, student2,}; + Classroom classroom1 = new Classroom(arrayOfStudents); + + Double expectedClassroomExamAvg = (student1.getAverageExamScore() + student2.getAverageExamScore()) / 2; + Double actualClassroomExamAvg = classroom1.getAverageExamScore(arrayOfStudents); + + Assert.assertEquals(expectedClassroomExamAvg, actualClassroomExamAvg); + + + } + + + @Test + public void getStudentsTest() { + Double[] studentArr1 = {85.0, 84.0, 87.0, 98.0}; + Double[] studentArr2 = {85.0, 90.0, 87.0, 88.0}; + Double[] studentArr3 = {99.0, 90.0, 75.0, 52.0}; + Student student1 = new Student("Harry", "Potter", studentArr1); + Student student2 = new Student("SpongeBob", "SquarePants", studentArr2); + Student student3 = new Student("Namjoon", "Kim", studentArr3); + + Student[] arrayOfStudents = {student1, student2, student3}; + Classroom classroom1 = new Classroom(arrayOfStudents); + + Student[] actualStudentsArr = classroom1.getStudents(); + + Assert.assertEquals(arrayOfStudents, actualStudentsArr); + Assert.assertNotEquals(3, actualStudentsArr); + + //System.out.println(actualStudentsArr); + + } + + + @Test + public void getAverageExamScore2Test() { + Double[] studentArr1 = {85.0, 84.0, 87.0, 98.0}; + Double[] studentArr2 = {85.0, 90.0, 87.0, 88.0}; + Double[] studentArr3 = {99.0, 90.0, 75.0, 52.0}; + Student student1 = new Student("Harry", "Potter", studentArr1); + Student student2 = new Student("SpongeBob", "SquarePants", studentArr2); + Student student3 = new Student("Namjoon", "Kim", studentArr3); + + Student[] arrayOfStudents = {student1, student2, student3}; + Classroom classroom1 = new Classroom(arrayOfStudents); + + Double expectedClassroomExamAvg = (student1.getAverageExamScore() + student2.getAverageExamScore() + student3.getAverageExamScore()) / 3; + + Double actualClassroomExamAvg = classroom1.getAverageExamScore(arrayOfStudents); + + Assert.assertEquals(expectedClassroomExamAvg, actualClassroomExamAvg); + System.out.println(expectedClassroomExamAvg); + + } + + + + @Test + public void addStudentTest() { + Double[] scores1 = {85.0, 84.0, 87.0, 98.0}; + Double[] scoresr2 = {85.0, 90.0, 87.0, 88.0}; + Double[] scoresr3 = {99.0, 90.0, 75.0, 52.0}; + Student student1 = new Student("Harry", "Potter", scores1); + Student student2 = new Student("SpongeBob", "SquarePants", scoresr2); + Student student3 = new Student("Namjoon", "Kim", scoresr3); + Student[] expected = {student1, student2, student3, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,}; + + //Classroom classroom101 = new Classroom(30); + Classroom classroom101 = new Classroom(); + classroom101.addStudent(student1); + classroom101.addStudent(student2); + classroom101.addStudent(student3); + + Student[] actual = classroom101.getStudents(); + + Assert.assertEquals(expected, actual); + for (int i = 0; i < actual.length; i++) { + System.out.println(actual[i]); + } + + //Student[] expectedStudentArray = {student1, student2, student3}; + // Student[] returnedStudentArray = classroom101.getStudents(); + //System.out.print(Arrays.toString(expectedStudentArray)); + //System.out.print(Arrays.toString(returnedStudentArray)); + + //Assert.assertNotEquals(null, returnedStudentArray); + } + + + @Test + public void removeStudentTest() { + Double[] scores1 = {80.0, 80.0, 100.0, 70.0}; + Double[] scores2 = {79.0, 80.0, 95.0, 85.0}; + Double[] scores3 = {100.0, 80.0, 92.0, 90.0}; + Student student1 = new Student("Harry", "Potter", scores1); + Student student2 = new Student("SpongeBob", "SquarePants", scores2); + Student student3 = new Student("Namjoon", "Kim", scores3); + Student[] expected = {student2, student3, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null}; + + Classroom classroom101 = new Classroom(); + classroom101.addStudent(student1); + classroom101.addStudent(student2); + classroom101.addStudent(student3); + classroom101.removeStudent("Harry", "Potter"); + Student[] actual = classroom101.getStudents(); + + Assert.assertEquals(expected, actual); + for (int i = 0; i < actual.length; i++) { + System.out.println(actual[i]); + } + } + //System.out.println(expected); + // System.out.println(actual); + + + @Test + public void getStudentByScore(){ + Double[] scores1 = {80.0, 80.0, 90.0}; + Double[] scores2 = {100.0, 100.0, 95.0}; + Double[] scores3 = {80.0, 80.0, 98.0}; + Student student1 = new Student("Harry", "Potter", scores1); + Student student2 = new Student("SpongeBob", "SquarePants", scores2); + Student student3 = new Student("Namjoon", "Kim", scores3); + Student[] expected = {student2, student3, student1}; + + //WHEN + Classroom clasroom101 = new Classroom(student1, student2, student3); + Student[] actual = clasroom101.getStudentByScore(); + + //THEN + Assert.assertEquals(expected, actual); + + for (int i = 0; i < actual.length; i++) { + System.out.println(actual[i]); + + } + } + + + + + } + + + + + + + + + + + + diff --git a/target/classes/io/zipcoder/Classroom.class b/target/classes/io/zipcoder/Classroom.class index e44b5445439b99210c83a7205bab2f2ccbdff62f..b5aa1da83b664451095638160de93d4cbdf59afc 100644 GIT binary patch literal 3506 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 SHK3R}P|S@{d-D~JmrMWy!w<9o delta 64 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 delta 126 zcmeyXy?{yd)W2Q(7#J8#7zDT&m>GE48Ti;4_$NCurc9o|qQuO?z&d#Yt9~$pA_Egp z8Uz@D5GV{J*?>HKFrR^eRcku~<3^wW69YStWCIE_05xy`Nggnpm4TCi3&>++;0BUR G3_Jj-0SsIK