Question
Java: fix compiler errors and complete Student client to produce given output. Output expected: *** The roster of 20 students: 11 graduate students and 9
Java: fix compiler errors and complete Student client to produce given output.
Output expected:
*** The roster of 20 students: 11 graduate students and 9 undergraduate students ***
Grad student: name0 scored [56, 94, 83] which is 77.67% - NO PASS
Undergrad student: name1 scored [80, 90, 83] which is 84.33% - PASS
Grad student: name2 scored [81, 68, 72] which is 73.67% - NO PASS
Undergrad student: name3 scored [88, 70, 82] which is 80.00% - PASS
Undergrad student: name4 scored [51, 71, 67] which is 63.00% - NO PASS
Undergrad student: name5 scored [99, 92, 98] which is 96.33% - PASS
Undergrad student: name6 scored [75, 67, 53] which is 65.00% - NO PASS
Grad student: name7 scored [59, 79, 73] which is 70.33% - NO PASS
Undergrad student: name8 scored [91, 97, 60] which is 82.67% - PASS
Undergrad student: name9 scored [56, 72, 91] which is 73.00% - PASS
Grad student: name10 scored [52, 92, 60] which is 68.00% - NO PASS
Grad student: name11 scored [74, 87, 78] which is 79.67% - NO PASS
Undergrad student: name12 scored [55, 87, 53] which is 65.00% - NO PASS
Grad student: name13 scored [61, 54, 82] which is 65.67% - NO PASS
Grad student: name14 scored [95, 65, 79] which is 79.67% - NO PASS
Grad student: name15 scored [51, 84, 83] which is 72.67% - NO PASS
Grad student: name16 scored [84, 65, 84] which is 77.67% - NO PASS
Grad student: name17 scored [78, 72, 68] which is 72.67% - NO PASS
Undergrad student: name18 scored [90, 90, 70] which is 83.33% - PASS
Grad student: name19 scored [88, 87, 97] which is 90.67% - PASS
#############################################################
import java.text.DecimalFormat;
public abstract class Student { public final static int NUM_OF_TESTS = 3; private String name; private int[] test; private String courseGrade; public Student() { this("No Name"); } public Student(String studentName) { this.name = studentName; this.test = new int[NUM_OF_TESTS]; this.courseGrade = "****"; } public String getCourseGrade() { return this.courseGrade; } public void setCourseGrade() { this.courseGrade = computeCourseGrade(); } public String getName() { return this.name; } public void setName(String newName) { this.name = newName; } public int getTestScore(int testNumber) { return this.test[testNumber-1]; } public void setTestScore(int testNumber, int testScore) { this.test[testNumber-1] = testScore; } public int getTestTotal() { int total = 0; for (int i = 0; i < this.NUM_OF_TESTS; i++) { total += this.test[i]; } return total; } public String toString() { DecimalFormat df = new DecimalFormat("#0.00"); return getName() + " scored " + Arrays.toString(this.test) + " which is " + df.format((double) getTestTotal() / Student.NUM_OF_TESTS) + "% - " + getCourseGrade(); } public abstract String computeCourseGrade(); }
############################################
public class UndergraduateStudent extends Student { private final int PASSING_GRADE = 70;
public UndergraduateStudent (String name) { super(name); }
public String computeCourseGrade() { String returnValue;
if (getTestTotal() / Student.NUMB_OF_TESTS >= PASSING_GRADE) returnValue = "PASS"; else returnValue = "NO PASS"; return returnValue; }
public String toString() { return "Undergrad student: " + super.toString(); }
}
#################################################
public class GraduateStudent extends Student { private final int PASSING_GRADE = 80;
public GraduateStudent (String name) { super(name); }
public String computeCourseGrade() { String returnValue;
if (getTestTotal() / Student.NUM_OF_TESTS >= PASSING_GRADE) returnValue = "PASS"; else returnValue = "NO PASS"; return returnValue; }
public String toString() { return "Grad student: " + super.toString(); }
}
###################################
import java.util.ArrayList; import java.util.Random;
public class StudentClient { public static void main(String[] arg) { { ArrayList
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started