From 9fd641ded8a7eff5d5e6f53b843ef6f726d73d05 Mon Sep 17 00:00:00 2001 From: jgiroso Date: Fri, 9 Jul 2021 17:42:21 -0400 Subject: [PATCH 1/3] Part 1 complete --- src/main/java/io/zipcoder/Student.java | 62 +++++++++++++++ src/test/java/io/zipcoder/StudentTest.java | 72 ++++++++++++++++++ target/classes/io/zipcoder/Classroom.class | Bin 0 -> 276 bytes target/classes/io/zipcoder/Student.class | Bin 0 -> 2698 bytes .../io/zipcoder/ClassroomTest.class | Bin 0 -> 288 bytes .../io/zipcoder/StudentTest.class | Bin 0 -> 2441 bytes 6 files changed, 134 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..dbb5d79 100644 --- a/src/main/java/io/zipcoder/Student.java +++ b/src/main/java/io/zipcoder/Student.java @@ -1,4 +1,66 @@ package io.zipcoder; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.jar.JarEntry; + public class Student { + + private String firstName; + private String lastName; + ArrayList examScores; + Double[] testScores; + + public Student(String firstName, String lastName, Double[] testScores){ + this.firstName = firstName; + this.lastName = lastName; + this.testScores = testScores; + this.examScores = 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 int getNumberOfExamsTake() { return testScores.length; } + + public String getExamScores() { + StringBuilder testScoreString = new StringBuilder(); + for (int i = 0; i < examScores.size(); i++) { + testScoreString.append(testScores[i] + " | "); + } + return testScoreString.toString(); + } + + public void addExamScore(double examScore) { + this.examScores.add(examScore); + } + + public void setExamScore(int examNumber, double newScore) { + this.examScores.set(examNumber, newScore); + } + + public double getAverageExamScore() { + double sum = 0.0; + for (int i = 0; i < examScores.size(); i++) { + sum += examScores.get(i); + + } + return sum / examScores.size(); + } + @Override + public String toString() { + return String.format("Student Name: %s %s\n" + "Average Score: %s\n" + "Exam Scores: %s", firstName, lastName, getAverageExamScore(), getExamScores()); + //Student Name: Jen + //Average Score: 80 + //Exam Score 1: 90, 70, 80 + } } diff --git a/src/test/java/io/zipcoder/StudentTest.java b/src/test/java/io/zipcoder/StudentTest.java index a9fedec..e2f6e05 100644 --- a/src/test/java/io/zipcoder/StudentTest.java +++ b/src/test/java/io/zipcoder/StudentTest.java @@ -1,5 +1,77 @@ package io.zipcoder; +import java.util.Arrays; +import org.junit.Assert; +import org.junit.Test; public class StudentTest { + @Test + public void testSetFirstName() { + //given + String firstName = "Stewart"; + String lastName = "Little"; + Double[] examScores = {90.0, 85.0, 99.0}; + Student newStudent = new Student(firstName, lastName, examScores); + //when + String actual = newStudent.getFirstName(); + //then + Assert.assertEquals(firstName, actual); + } + + @Test + public void testSetLastName() { + //given + String firstName = "Stewart"; + String lastName = "Little"; + Double[] examScores = {90.0, 85.0, 99.0}; + Student newStudent = new Student(firstName, lastName, examScores); + //when + String actual = newStudent.getLastName(); + //then + Assert.assertEquals(lastName, actual); + } + + + @Test + public void testGetExamScores() { + //given + String firstName = "Leon"; + String lastName = "Hunter"; + Double[] testScores = {100.0, 95.0, 123.0, 96.0}; + Student student = new Student(firstName, lastName, testScores); + //when + String expected = "100.0 | 95.0 | 123.0 | 96.0 | "; + String actual = student.getExamScores(); + //then + Assert.assertEquals(expected, actual); + } + + @Test + public void testGetAverageExamScore() { + //given + String firstName = "Sasha"; + String lastName = "Braus"; + Double[] testScores = {90.0, 70.0, 80.0, 80.0}; + Student student = new Student(firstName, lastName, testScores); + //when + double expected = 80.0; + double actual = student.getAverageExamScore(); + //then + Assert.assertEquals(expected, actual, 0.001); + } + + @Test + public void testToStringOverride() { + //given + String firstName = "Levi"; + String lastName = "Ackerman"; + Double[] testScores = {90.0, 80.0, 70.0}; + Student newStudent = new Student(firstName, lastName, testScores); + //when + String expected = "Student Name: Levi Ackerman\nAverage Score: 80.0\nExam Scores: 90.0 | 80.0 | 70.0 | "; + String actual = newStudent.toString(); + //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..fa71e92e345b62aa69e1b93752bfcc55a8d8ceef GIT binary patch literal 276 zcmZuryKcfj5S;Y`Cl0|VQk0r5P~;jq5Dii)3yMVaXLCvp**Bflc4tDGFKrhFlB|1q`FeGO_?eCEwh4^m(=94SV*fKzluTgt82nrde?14 zh`-Fn=IT>Bi_Y!Ohl_|FB2Mm#xH&uHBQtT~KsfjV?OE^;GrBY2RX^d*2_>ztI`nKJVF+u*Nt8yL--g-{(B<^M2&de}8)c;1nK3 z5kN44kclpY4fNl$Hmpp^Dz9c1mhRa_*FgBZQ+C`L1Hoi!u?OAgi6CmC7p8$hr;>T> ztQRZGb~TfC>&teT9z82gwdP*4)@%a$SmV9-F+ zwQFv^SgG1IUUA!pFk7iFmF#Q;aULk(y6coO7phh3QO>EkQS8Q^2!>7U#lB`V+a`ny zTQxB>Fq-rOd%x?xKlHn5A9K zW`@U-^S;t~HN$?f#PhO=_i=@utKu0?&ik2YSBd2V6CWaHpm$kS;-YY;S28u*jcW#` zbPpt?_|GLqYy68|*s!bCs+~|pA)C=TmWa2ksWof=x`~ejc#s6NgIFn_D9`gIZiwJ9 zp0^HaQ7qzS1fQBH;MObhHnS35sZ`f2#&p)Nn$Gc?JHVIrEE_uStd=deUS+IWnC+&L zJ~{6bTIX$se&;&e>9g#>LOZ7xS@)MXRSfLNIc57=eQn9E-muvGGEyo8Y|yg(Koya6MSYF)DPO5qi}qzlq%?KC9+zRn`PI!|10cjF$2-3QGNt*3%r+Rf zt@b|SlY^SiUhZ|_b3VV|>Kl57_#R1b!AOs9B9cC~iCB7K6aDGu7%EIW!>%pt-^8I` zX%@hjeC|b<&ptZtKo9!)wUf{TylxP8c#`%YVPT0Yf-7o<`Vw+Nctp_&l134yHJJ?G zV%3#?ipVeg@U9E1&A5U#Jp&DGU>P=dB$63g3vgIPu}xNfErC6Zc~~Lr@~m3q!kV0c zm5xMW?L_uNUWX6K@vIi1|p)3C~y}k9n=Z6mY|-Z|HV&jk{tFi3AZHS%+cQ8 zGY>)fOh3m+VGE&rmcLjR?$p+E`#~V1&z}tM@d=fBz{O_-Et|a`R zO8YKS2ad4fMiIwRoaFlqfAH>bH$j^yj>Ew{rSG(+)6L(U`zVpn8m*Z6mxx9%V*G;% z?v+u|ROjd~RAa(#>>1u^VESgecE<=Xp|10i7;7alhIM>JC<9g0G~{(gFQwflko%Gf z^TKPGClJGAD+HIZtC8OkC`@kN4^l|*T?y1_@uqYrxgjW P*;4vy0}lupz{CFm@KG@H 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..4433a163bf9c007e9ef3938080e6169f40ea5442 GIT binary patch literal 288 zcmZ`!yKcfj5S;Y`6Ni`R5EUIsk!$FP(jZY;P=M&q<`fPYA37Tf{wfs`MLvL!LaZ$s z3U;O0o!QksuD8oSfDt+&9Jm3z27J^Aovl1dk;?2>%;T*}3PSB$XS(Gc`NxVr7>yPFd+jCXwk%T3zyo=oK5C6Z+B1 ziDN>zFbA8csjkL6?fWXv#Q*_+Q5v!HAB=CzM8yIB^9=f9!9mDamH`*Lt-}@bUJ`z3ddZV7ZP!a6$x}Z&0KlSIzSQ~=t|)P3?ARHD-F5$OyE?m*k|ok49<*e=0npzq?wO@@dF(_ z0wr^+!53W3ESqkg*t*A6-Q#gkY z1X3H)n{nK_w_tBefpo65!!T_UAL6`@3n_erkBMD#H}YEzPANZGuS=IhOWA%f{Z+%R z)CDfK_7)7bwYP93XyjrFIn_u98?o%5j|46W#4K5>CNRL6&o!!^bTxC;9}hJ1Q7|aY zeA)~i2cHrc6*zZgXlQUK`%QLi#D82Fz8bua`VWPFBZVvvqp z-XLjG6%H2ah3r_su0C)C*Mo=ZcqxUFVorFqKv*3Q1-cLM*|Mxt)Yu(*PoUFss&b*R zy(Zmdnr~`quxy!nZu%1fTIsZy>&7(1u6hCbd=F znpCg>tN4^}0#CT!26gy*KM`OWx@8=j*M36BYI_>TchOl|jiqtY58`Q@Qo+KH=w9s~ zxcmm0LM#*e0q+;${h9bKvU_#UL1*3$w6m&)!CK6o7&`?+FbDiEsd)OL^4JSaV6CC zf|iMAw0%mQM}paV$##)7b2L&P#?eo%0nA_!^ITExnG3pz)Vdd`H5aOt=QK8bwZ^Hi z Date: Fri, 9 Jul 2021 23:04:11 -0400 Subject: [PATCH 2/3] part 2 classroom partially complete --- src/main/java/io/zipcoder/Classroom.java | 52 ++++++++++++++++++ src/main/java/io/zipcoder/Student.java | 35 +++++++----- src/test/java/io/zipcoder/ClassroomTest.java | 19 +++++++ src/test/java/io/zipcoder/StudentTest.java | 4 +- target/classes/io/zipcoder/Classroom.class | Bin 276 -> 1205 bytes target/classes/io/zipcoder/Student.class | Bin 2698 -> 2620 bytes .../io/zipcoder/ClassroomTest.class | Bin 288 -> 1107 bytes .../io/zipcoder/StudentTest.class | Bin 2441 -> 2428 bytes 8 files changed, 94 insertions(+), 16 deletions(-) diff --git a/src/main/java/io/zipcoder/Classroom.java b/src/main/java/io/zipcoder/Classroom.java index 64566f0..ea4cb9a 100644 --- a/src/main/java/io/zipcoder/Classroom.java +++ b/src/main/java/io/zipcoder/Classroom.java @@ -1,4 +1,56 @@ package io.zipcoder; public class Classroom { + + Student[] students; + int maxNumberOfStudents; + + + public Classroom(int maxNumberOfStudents) { + this.maxNumberOfStudents = maxNumberOfStudents; + } + + public Classroom(Student... students) { + this.students = students; + } + + public Classroom() { + this.students = new Student[30]; + } + + public Student[] getStudents() { return students; } + + public double getAverageExamScore() { + double total = 0.0; + for (Student s : students) { + total += s.getAverageTestScore(); + + } + return total / students.length; + } + + public void addStudent(Student student) { + for (int i = 0; i < students.length; i++) { + if(students[i] == null) { + students[i] = student; + } + } + } + + public int actualStudentArray(Student student) { //counts how many actual students there are in a classroom size of 30 + int totalStudents = 0; + for(int i = 0; i < students.length; i++) { + if(students[i] != null) { + totalStudents++; + } + } + return totalStudents; + } + + public void removeStudent(String firstName, String lastName) { + for (int i = 0; i < students.length; i++) { + if(students[i].equals(firstName, lastName)); + + } + } } diff --git a/src/main/java/io/zipcoder/Student.java b/src/main/java/io/zipcoder/Student.java index dbb5d79..15d3041 100644 --- a/src/main/java/io/zipcoder/Student.java +++ b/src/main/java/io/zipcoder/Student.java @@ -11,56 +11,63 @@ public class Student { ArrayList examScores; Double[] testScores; - public Student(String firstName, String lastName, Double[] testScores){ + public Student(String firstName, String lastName, Double[] testScores) { this.firstName = firstName; this.lastName = lastName; this.testScores = testScores; this.examScores = new ArrayList(Arrays.asList(testScores)); } - public String getFirstName() { return firstName; } + public String getFirstName() { + return firstName; + } public void setFirstName(String firstName) { this.firstName = firstName; } - public String getLastName() { return lastName; } + public String getLastName() { + return lastName; + } public void setLastName(String lastName) { this.lastName = lastName; } - public int getNumberOfExamsTake() { return testScores.length; } + public int getNumberOfExamsTake() { + return testScores.length; + } public String getExamScores() { StringBuilder testScoreString = new StringBuilder(); - for (int i = 0; i < examScores.size(); i++) { + for (int i = 0; i < testScores.length; i++) { testScoreString.append(testScores[i] + " | "); } return testScoreString.toString(); } - public void addExamScore(double examScore) { - this.examScores.add(examScore); + public void addExamScore(double testScores) { + this.examScores.add(testScores); } public void setExamScore(int examNumber, double newScore) { this.examScores.set(examNumber, newScore); } - public double getAverageExamScore() { + public double getAverageTestScore() { double sum = 0.0; - for (int i = 0; i < examScores.size(); i++) { - sum += examScores.get(i); + for (int i = 0; i < testScores.length; i++) { + sum += testScores[i]; } - return sum / examScores.size(); + return sum / testScores.length; } + @Override public String toString() { - return String.format("Student Name: %s %s\n" + "Average Score: %s\n" + "Exam Scores: %s", firstName, lastName, getAverageExamScore(), getExamScores()); + return String.format("Student Name: %s %s\n" + "Average Score: %.1f\n" + "Exam Scores: %s", firstName, lastName, getAverageTestScore(), getExamScores()); //Student Name: Jen - //Average Score: 80 - //Exam Score 1: 90, 70, 80 + //Average Score: 80.0 + //Exam Score 1: 90.0 | 80.0 | 70.0 | } } diff --git a/src/test/java/io/zipcoder/ClassroomTest.java b/src/test/java/io/zipcoder/ClassroomTest.java index 7bac1ff..ae94fa3 100644 --- a/src/test/java/io/zipcoder/ClassroomTest.java +++ b/src/test/java/io/zipcoder/ClassroomTest.java @@ -1,4 +1,23 @@ package io.zipcoder; +import org.junit.Assert; +import org.junit.Test; + public class ClassroomTest { + + @Test + public void testGetStudents() { + //given + Double[] testScores = {90.0, 80.0, 70.0}; + Student student = new Student("Tohru", "Honda", testScores); + //when + Classroom classroom = new Classroom(); + classroom.addStudent(student); + Student actual = classroom.getStudents()[0]; + //then + Assert.assertEquals(student, actual); + } + + @Test + public void testGetAverageExamScore() {} } diff --git a/src/test/java/io/zipcoder/StudentTest.java b/src/test/java/io/zipcoder/StudentTest.java index e2f6e05..4e6b3c4 100644 --- a/src/test/java/io/zipcoder/StudentTest.java +++ b/src/test/java/io/zipcoder/StudentTest.java @@ -55,9 +55,9 @@ public void testGetAverageExamScore() { Student student = new Student(firstName, lastName, testScores); //when double expected = 80.0; - double actual = student.getAverageExamScore(); + double actual = student.getAverageTestScore(); //then - Assert.assertEquals(expected, actual, 0.001); + Assert.assertEquals(expected, actual); } @Test diff --git a/target/classes/io/zipcoder/Classroom.class b/target/classes/io/zipcoder/Classroom.class index fa71e92e345b62aa69e1b93752bfcc55a8d8ceef..b7f78d0c656d106c1fb06ddaa609ef35d3bfa22f 100644 GIT binary patch literal 1205 zcmZ{kO-~b16o%hB)9FBI%jcBVBGRhR7O{pH7NSOj5=amhC2U*`(-8;T4w(*wxYC5g zAK{LTOEnQqOk``~?{MKyFvf`Qof#{bx|sWU&U>D7&dq%J_3;?Mb<8B7K-CdTLPK0& zVB6d?s|~ZYRbAWMwk=;Ee$#0={%rxZRNm-C4|;VZlITNHz;N8^Q)kC=>$X>2XqfG` z=ekXS;ikF2y4&2ey|qU*f46S8{I-BtmhR~!`Y|BT)9zek9*i*ICqpZ)Wi~cU z&yoA+Fy=pY2s?TPsgv8hK(5psSBB~%&EJHxrE+)EGuZd{&1Qrx7}z)y_)jeaG~e~j z2CK-#QZ?VSo;)yj0%l#7Ghx>2k+DFw)Kx?h3P(V1hoz@i&E54Zd(n~QNO!WlDxU!g z?3Ti3B0si_BV^k-#z7v8a?EnKNDFC`sCGFoOjEP}Kbn%5>B@H1rc5++);i7;Og${wO9s(tF`HhJ?yED$ zb1`*JGc+T1h|w8Co4paA%EjMf*jhT!#H*8UQ_}AEh5MRbYEaq?Qv(|yFD7MjGQAl>MsNNb2 z2o8~x^VsZX_FFEdYX=Gezsmlc1}m_uMT{_9o)`s8cEA+Yu*~AfH&cwjH{=T3YR zIGK}4K7gHp38&X{jfoPa5+5YGbZ=alxb!!epq@J&kf3hv+{gLOcfNDKI}h{U?bJX0e6tE5hFeSe zBjF9A(m)7R)&~*a5fM-WcLF+s*eiEyEK`YTbq4AYwR)7YoEY|b&}g6u`>h3~S!*#6 zN2|50lxpn;I&i@Hszkjp95iqUT~>$ccO4dJvXW}qXifd3-hF#~I*^!{nN7{L1j^@h zc+qR14_yLzQ>ppRh1Bf$RB9+SH*bUF`B4M?hzgiIm*LrH9mjFPg8>7BIQjCkdRMsA zP*tBb;vTa;x)%x)EK$J_$6Vxb%z=O#r#POr5?V|QTMx97Z6iDh!^JU(Bu1@_7WAA! z)JA>N{FTEz(YONqkXXZ>yCs$@fwMSgV~ahz(h{pPCs4plg*M)AuQdlRxpHg{fw62B zqHD<@Gq}UAV7}l)!Jo8y{+afCHZ8I3M9Y*~I2~DrxwH|URZ>bN!T%`P<|w&l`H-m26*qw!xKkpkkAh^@@bNnrw6$k7=aJp!iz^ldne3G*;WRtf2McN3HZ%4M0EQ06_QXj6f9N7pyOp{*WobSS+zvr-r ze7$OWvEyofrJNMg&d!P6^rA`^zuQ}@_h+7yXtR?oB#bk8D|Yi+!l$|}!o^;dPD(i; zM~;FD+^}nuMzWXI;8JO00p;*l;D|~%Z=))=+w*=9N>ZgBPa^5!$4n&Myy71EkVtBr a9Z9U<*w*&$vQ=bXRh5%lV1_vr-24r|il+qt delta 1278 zcmZuxOHUI~6#ni^JH=rN$V=s6f%0m36tEzOMG;ZZDqvNtqEN6R$U`Y28cjDE6E`N# zhK(-Vn7BcrR^ltJT)6iK_$OSLpnfwQDnT~qo;mlN?|$dI=g!C6M|tYE-|s&I@Zp==wx(kzFkEtj%hfK;1fCDc2b~OFObVcOz)I)yZSW@ASjSSfX;>JTx2}j zy%?Dejm^$QRiq)L;WSzVoZL@s#8jNcpabVLgmM1$lKepEZu^kBExKN+-?J|kUZ5%x zhG?^qLz@l(J1){*(z6u57}mQLSLO(Jys*)_5y7Y)Q{3?}v=~{8`M3(McJCWFUeS>- zOskl|JdDuSk_kpJzXUELN^2B%Fk9lPcx&Fmu|h9dt(wuDB(uvz$WLZj2tZsRR|8hy z%9c!=o0$}D$z*(MCeF=Fc9V%~1Cv4}MMXiT#pEhHMqB!_V@Ld-1f?4eUau0ym01!z zrLr;`4}5?-{0G)QYu9dL_ZsAFsf zvliEG)*D=%2EnRT>`fprxLK=O0>tag^OD!*OljrBb=)A9z#L*0W)6=yb&b--kid|)0+ M6M diff --git a/target/test-classes/io/zipcoder/ClassroomTest.class b/target/test-classes/io/zipcoder/ClassroomTest.class index 4433a163bf9c007e9ef3938080e6169f40ea5442..5a3a610017238a377e12a155a8468c4bbf9f4a63 100644 GIT binary patch literal 1107 zcmZuwT~pIQ6g^AR1VW_P76C!TPgF~6qu`E*(%?A%Y@s}KD zfRWK3;E!^=+XkABo&2Qq1hELV=B zqIfZ1lZg8U9^fIvVABqw9bZE7yH|pAJ&Z--3W)h#yl!1aDwgZn1kPMB2D&bOXVx@}9`cK}G7MN3b72_m zIddt1lB?Vbs6|xtr_c$+pqamyB|E zLEc@u00nw0^6LX#L8xR+`ZH-|v?gay!M?Y*ACZ;Y(mp0@bPiw-BdrnU?7C%9cW!M()d ziZVa0oMEObV2a)%Fo3_7lQT1>vC1S1#orC z{EjZ9(1t>bJHeIR_-jh-Hz(uK7F@cSb9?7}&-2ZE3ja2PSAV|$1Tc!qd2m}9&pGdF z+2U!{VNm<}6G3!iK77aI+tyRmFl8)?`cJ+!ay@5i701b4Pc;;v|L@P!kANU4#P7?(ye#nci(md1%U=8cE zV#w3Jf}A_bm)VN@k@w`i)GOKrru>wO32b1K(i$vm(M&-v+Odrts2IU>>|zfAj6p|% zPC4Gv+a6j`)Yz9bW?FkKJ{aY7boqF0PJ4=yj$iUx+a;}GJ$B}4B?%BnORYtzmGrfS z(1`<~6-O8)p*4vX915*D7(!6{Pq5smMtA=r`6e1Ore&MsDg6hY<<$t9>+X#n57sev zr`=)noTaI+_gEQ;WlO9DiPa^sB0koXz&fIW^8)LL^=yQC*7y}(%AQR;(zADjqu}H( DDR*tB delta 826 zcmcJNPfHt76vfY*$-J4ySlcn6aib;0m}~?og^tEpNn+HA=8ug{TWe#Cn#Lp&q__}V zyPl8W%B2W46m;2wbXEFA>{?3iOvWb`T)LTe?|WzF{LYNoXszknmolqfR z*%jH+w^aK&0u=F%I)?YOFQH&Xlq_4e_LX4KR!!0_Fy*RbMDYPDq~m@Zn6?bwLq2o-A$&GnpYME?JciZKft@8qRKSAB zGB2{E+$^IQ#Fmp~9KEPISz_qHXD3S%nv;tEm#Wrrqi_GF>JhCu-7xiuw0e%NqU=X^ z+xn@Fcl(iSBjx@L>!}tz$kIG-$#Q~hQIMH}EGWqOT(T+XM7B*+o6vx RuE0w%w&*=$YY>iv=0CaEat#0g From 39e8c15071942d7ed0f74b835357ec9c00309eda Mon Sep 17 00:00:00 2001 From: jgiroso Date: Sun, 11 Jul 2021 23:17:10 -0400 Subject: [PATCH 3/3] lab complete --- src/main/java/io/zipcoder/Classroom.java | 68 +++++++++++- src/main/java/io/zipcoder/Student.java | 8 +- src/test/java/io/zipcoder/ClassroomTest.java | 97 +++++++++++++++++- src/test/java/io/zipcoder/StudentTest.java | 14 +++ target/classes/io/zipcoder/Classroom.class | Bin 1205 -> 5260 bytes target/classes/io/zipcoder/Student.class | Bin 2620 -> 2874 bytes .../io/zipcoder/ClassroomTest.class | Bin 1107 -> 4794 bytes .../io/zipcoder/StudentTest.class | Bin 2428 -> 2738 bytes 8 files changed, 181 insertions(+), 6 deletions(-) diff --git a/src/main/java/io/zipcoder/Classroom.java b/src/main/java/io/zipcoder/Classroom.java index ea4cb9a..77901c5 100644 --- a/src/main/java/io/zipcoder/Classroom.java +++ b/src/main/java/io/zipcoder/Classroom.java @@ -1,5 +1,8 @@ package io.zipcoder; +import java.text.DecimalFormat; +import java.util.*; + public class Classroom { Student[] students; @@ -20,7 +23,7 @@ public Classroom() { public Student[] getStudents() { return students; } - public double getAverageExamScore() { + public double getAverageExamScores(Student[] students) { double total = 0.0; for (Student s : students) { total += s.getAverageTestScore(); @@ -33,11 +36,12 @@ public void addStudent(Student student) { for (int i = 0; i < students.length; i++) { if(students[i] == null) { students[i] = student; + break; } } } - public int actualStudentArray(Student student) { //counts how many actual students there are in a classroom size of 30 + public int actualStudentCount() { //counts how many actual students there are in a classroom size of 30 int totalStudents = 0; for(int i = 0; i < students.length; i++) { if(students[i] != null) { @@ -48,9 +52,65 @@ public int actualStudentArray(Student student) { //counts how many actual studen } public void removeStudent(String firstName, String lastName) { - for (int i = 0; i < students.length; i++) { - if(students[i].equals(firstName, lastName)); + ArrayList newStudentList = new ArrayList (Arrays.asList(students)); + + for (int i = 0; i < newStudentList.size(); i++) { + Student student = newStudentList.get(i); + if(student == null) { + continue; + } else if(student.getFirstName().equals(firstName) && student.getLastName().equals(lastName)){ + newStudentList.remove(student); + newStudentList.add(null); + } + } + this.students = newStudentList.toArray(new Student[0]); + } + + public Student[] getStudentsByScore() { + List studentList = new ArrayList (Arrays.asList(students)); + + Comparator byExamScores = Comparator.comparing(Student::getAverageTestScore); + Comparator byFullName = Comparator.comparing(Student::getFullName); + + Collections.sort(studentList, byExamScores.reversed().thenComparing(byFullName)); + + Student[] studentsSortedByScore = studentList.toArray(new Student[0]); + + return studentsSortedByScore; + } + + public Map getGradeBook() { + Student[] studentList = this.getStudents(); + Map gradeBookResult = new HashMap<>(); + int length = actualStudentCount(); + for(int i = 0; i < length; i++) { + gradeBookResult.put(studentList[i], getDeviation(studentList[i])); + } + return gradeBookResult; + } + + public char getDeviation(Student student) { + //need average score of each person in class + Double averageClassExamScore = this.getAverageExamScores(students); + Double averageStudentExamScore = student.getAverageTestScore(); + Double preDeviation = 0.0; + for(Student testScoreAverage : students) { + preDeviation += Math.pow(averageStudentExamScore - averageClassExamScore, 2); + } + Double standardDeviation = Math.sqrt((preDeviation / actualStudentCount() - 1)); +// Double preDeviation = 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){ + return 'C'; + } else if(averageStudentExamScore >= (averageClassExamScore - standardDeviation)){ + return 'D'; + } else { + return 'F'; } } } diff --git a/src/main/java/io/zipcoder/Student.java b/src/main/java/io/zipcoder/Student.java index 15d3041..16dfa7d 100644 --- a/src/main/java/io/zipcoder/Student.java +++ b/src/main/java/io/zipcoder/Student.java @@ -1,5 +1,6 @@ package io.zipcoder; +import java.text.DecimalFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.jar.JarEntry; @@ -58,8 +59,8 @@ public double getAverageTestScore() { double sum = 0.0; for (int i = 0; i < testScores.length; i++) { sum += testScores[i]; - } + DecimalFormat format = new DecimalFormat("#.#"); return sum / testScores.length; } @@ -70,4 +71,9 @@ public String toString() { //Average Score: 80.0 //Exam Score 1: 90.0 | 80.0 | 70.0 | } + + public String getFullName() { + String fullName = getFirstName() + " " + getLastName(); + return fullName; + } } diff --git a/src/test/java/io/zipcoder/ClassroomTest.java b/src/test/java/io/zipcoder/ClassroomTest.java index ae94fa3..cee0aee 100644 --- a/src/test/java/io/zipcoder/ClassroomTest.java +++ b/src/test/java/io/zipcoder/ClassroomTest.java @@ -19,5 +19,100 @@ public void testGetStudents() { } @Test - public void testGetAverageExamScore() {} + public void testGetAverageExamScore() { + //given + Double[] examScores1 = {90.0, 95.0, 100.0}; //95 + Double[] examScores2 = {85.0, 90.0, 87.0}; //87.3 + Double[] examScores3 = {70.0, 65.0, 55.0}; //63.3 + Student student1 = new Student("Blossom", "Ultonium",examScores1); + Student student2 = new Student("Buttercup", "Ultonium", examScores2); + Student student3 = new Student("Bubbles", "Ultonium", examScores3); + Student[] testStudentArr = {student1, student2, student3}; + double expected = 81.888; + //when + Classroom classroom = new Classroom(); + double actual = classroom.getAverageExamScores(testStudentArr); + //then + Assert.assertEquals(expected, actual, 0.001); + } + + @Test + public void testAddStudents() { + //given + Double[] examScores1 = {90.0, 95.0, 100.0}; //95 + Double[] examScores2 = {85.0, 90.0, 87.0}; //87.3 + Double[] examScores3 = {70.0, 65.0, 55.0}; //63.3 + Student student1 = new Student("Blossom", "Ultonium",examScores1); + Student student2 = new Student("Buttercup", "Ultonium", examScores2); + Student student3 = new Student("Bubbles", "Ultonium", examScores3); + 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}; + //when + Classroom testClassroom = new Classroom(); + testClassroom.addStudent(student1); + testClassroom.addStudent(student2); + testClassroom.addStudent(student3); + Student[] actual = testClassroom.getStudents(); + //then + Assert.assertEquals(expected, actual); + } + + @Test + public void testRemoveStudents() { + //given + Double[] examScores1 = {90.0, 95.0, 100.0}; + Double[] examScores2 = {85.0, 90.0, 87.0}; + Double[] examScores3 = {70.0, 65.0, 55.0}; + Student student1 = new Student("Erwin", "Smith",examScores1); + Student student2 = new Student("Hanji", "Zoe", examScores2); + Student student3 = new Student("Eren", "Yeager", examScores3); + 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}; + //when + Classroom testClassroom = new Classroom(); + testClassroom.addStudent(student1); + testClassroom.addStudent(student2); + testClassroom.addStudent(student3); + testClassroom.removeStudent("Erwin", "Smith"); + Student[] actual = testClassroom.getStudents(); + //then + Assert.assertEquals(expected, actual); + } + + @Test + public void testGetStudentsByScore() { + //given + Double[] examScores1 = {85.0, 90.0, 87.0}; + Double[] examScores2 = {90.0, 95.0, 100.0}; + Double[] examScores3 = {85.0, 90.0, 87.0}; + Student student1 = new Student("Craig", "Boone",examScores1); + Student student2 = new Student("Veronica", "Santangelo", examScores2); + Student student3 = new Student("Cass", "Sharon", examScores3); + Student[] expected = {student2, student3, student1}; + //when + Classroom testClassroom = new Classroom(student1, student2, student3); + Student[] actual = testClassroom.getStudentsByScore(); + //then + Assert.assertEquals(expected, actual); + } + + @Test + public void testGetGradeBook() { + //given + Double[] examScores1 = {85.0, 90.0, 87.0}; + Double[] examScores2 = {90.0, 95.0, 100.0}; + Double[] examScores3 = {85.0, 90.0, 87.0}; + Double[] examScores4 = {65.0, 50.0, 57.0}; + Double[] examScores5 = {75.0, 60.0, 67.0}; + Double[] examScores6 = {85.0, 80.0, 77.0}; + Student student1 = new Student("Craig", "Boone", examScores1); + Student student2 = new Student("Veronica", "Santangelo", examScores2); + Student student3 = new Student("Cass", "Sharon", examScores3); + Student student4 = new Student("Kyo", "Sohma", examScores4); + Student student5 = new Student("Tohru", "Honda", examScores5); + Student student6 = new Student("Hatsuharu", "Sohma", examScores6); + Student[] expected = {student1, student2, student3, student4, student5, student6}; + //when + Classroom testClassroom = new Classroom(student1, student2, student3, student4, student5, student6); + //then + System.out.println(testClassroom.getGradeBook()); + } } diff --git a/src/test/java/io/zipcoder/StudentTest.java b/src/test/java/io/zipcoder/StudentTest.java index 4e6b3c4..fe032cb 100644 --- a/src/test/java/io/zipcoder/StudentTest.java +++ b/src/test/java/io/zipcoder/StudentTest.java @@ -74,4 +74,18 @@ public void testToStringOverride() { Assert.assertEquals(expected, actual); } + @Test + public void testGetFullName() { + //given + String firstName = "Reina"; + String lastName = "Collier"; + Double[] testScores = {90.0, 80.0, 70.0}; + Student newStudent = new Student(firstName, lastName, testScores); + String expected = "Reina Collier"; + //when + String actual = newStudent.getFullName(); + //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 index b7f78d0c656d106c1fb06ddaa609ef35d3bfa22f..94ce7ec343c2e95736bb644f3e3c206109036811 100644 GIT binary patch literal 5260 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 b{RY3q@4V6P@hAM5dr=1QFZdh&fwunvY!@3S delta 664 zcmZ{iO)mpc6o%hB)0r|%ebmsJp<1+B8q$dPh=m2Ql87H5B8`!f8c4uXMX|=RbR8X4=PNm}bkEW-G(d@sO`Nxg!vIzwP9b99K zI0uanVC8P0a_$wv7d&Z*bB#dfT8|Jct_|qqsXg$93y&vqyl-TzJ;v;kn7(Vf6Th@g zIzqbXAG!(6q(qVEiuolwQU0Y{NVmd9v_?xFQ5ED?=te>q-VJk?Z$|DC_BoB900{{= ze_-PW?qMkbe8ePS`V}Jcf-jWw)v=I1W;liuIzdO?F$$ArCT?CMx;npasMF8qj5t;g zN@v9MTCdt!0jNb1yG+>2J4z&QSh>lqgHn5HrU&kY+)Dho)k$EK*^RUo{MU0T)(Dz5oCK diff --git a/target/classes/io/zipcoder/Student.class b/target/classes/io/zipcoder/Student.class index 0aa38024df937c946066bdc23e4c89fd05e56a0a..e5b321ca151bccc6a7fa87481ba774925689b6fc 100644 GIT binary patch delta 1267 zcmZ`%O-~bH5PsfnyIq$pVnHgDkH%_93tFV8Bq(SC6{R3rKe{Svtp&l>YFiLL>%qhy zu!-^H!HY*E(LzAEnHW$03_X}|HbI^D-L*6XFYnCm%slhV%=58sxnBMHdwCT=H=Zr1 zs?_O3guyeNm`#KVskuUEAeEfTB+`*=E|VxI7-Eq8`~4~gaY};&!^SuJE=j?N;gS06 zr!|Zjy42)9t09Ii2G?Y&FgTaU#FE)uDzD-^E;w;fLmayCN{aWWP;gnp6`re6Ze%K# zFN`KKDFs&M$laj{`qv1V-tDlX2HUU$)greRyHSTpiUcVF_;CwU zMqc(8X&7El|3YLLSx4|aobSl7fdk6or$-d?hLpgI$udl1m|kAoN7*)>9c=#q=K^_V zwJQF4sisLF)SFor0#KAuCFWp!Z5CK16W3-Yty?m=y)_fpW+r}OvZsQHS1wbLX={8y zhBPvqi81f=v~8@Qt)lV2D#nE)a(_Cb<2<*X8UXF2gbupVK6H{jM7!m?_d$Y6-*=D| zYv{FlD+uE*?h#IovNYJ%p*rDbzX*pRkAmp%QfWEJJD4jCQ(kw)Ag=NpF1q*(RWQur zzNq}6v=%oi55t9?G9Qpa%yV*Yj+pTiSK|R;*vKEl0LP$zuSq#vJ6+X7QeQKPq-OOE zcD8Y+xvPZZ$)V>Gd;9163I=ueiA9_o6|vP9*?GD%jm{~U^6Vw(BShmU8pyVy9|0T_ zl(;P=M_ry}*Qv$Z3_!mAPxmN%H delta 997 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 Zdi9`7#s>P9aLL$s*A4P2qpiWMe*$4B9mfCw delta 205 zcmXYqJqp555QJwFUtS1emC`~H1%>#cCjS3nXCvBr8t;&k1PdXB2e9=5-oaj+JZ-*V zcV=gc_R|j@pW+T6!8Q+G;%fA-HPw;qqFcuZ4lR%Z1&=hG3{|MAcZ1~Cj>*z4IUuXQ z0EQTG61ICRG1*(6CC(0h^Ay@#!dhVe&o$6RiZSyM>X=~4n-n2tn8U>m8Vl|!SlT~= KmF-@W4mMvf%N5-K diff --git a/target/test-classes/io/zipcoder/StudentTest.class b/target/test-classes/io/zipcoder/StudentTest.class index 5e8df01392134db7b06ea6163d01ad37fbfdeb27..e99d0cc6fcff3e2357081a783c5192bf0078a1f9 100644 GIT binary patch delta 926 zcmcJNO-ma=7{~v!o1I^w6&zvnmeT*kjWj-LPh@e4pZz8ptQGvi=F zz{33P_^ckGrOKQTG(`L%zm#k4@E3i zc1z_!z2Kijo{znUK^kC#7)ZuB&RRJNj#kSl#4$e%%rgedL0n+0u57>}3Y-ZnF>heb zZ?VS3y#Lio<%3<_%mTgPE)!i?#tL^!q~Y?*Kog!~6>BijhFYwnhzL4a&IVU4eBj>! z)l-a3&FJ&fGDglT`4F6~kn>wEkkMo}F9$9|tO^*_F0ZxAQ0UT%MrYaaSZ#8X1(}p!Isc8)%tyj@XytzR|E3xL=cUTT-2TqQ( z3#WPi#%(~;`ZTRaztgo_8{I1J)S=zF?r__!(0FfuSW|F+1M%!geDaO_iK@KWfSNP^ z)Jg5<(pDmJf|;~TSP6NCwKZR7# MYj-*95pUr06(Zb!EC2ui delta 654 zcmcJMOG*Pl5QhJrN%xFF5-^IO3l%}ZO)!WMB_;$k5yfW`jju!#qlu3TxbO%r`T(9G zx)5A=0C(QR1Bh7DX^SYhbTd=c^ABHr)ei$7ec{*7=NAAoxNe7CS9#bL7}V3D*kjYx zLPzA-#ugk(015)qJPXvtsT1^;Q%?|WDjXDTD2SG*?(GDygI($b%5?6apl{`-DC##k zUJg1 zrAfa^w1(eJTW8uT)0UYw%Cvq<%NSaVHkUKB7R~%~hZmOi?w5#`>*=N~GA+xrG~d&= VTY}s=_cY6HsXyE