Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

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 roster = new ArrayList(); int numberOfStudents = 40; Random random = new Random(); for (int s = 0; s < numberOfStudents; s++) { if (random.nextBolean()) roster.add(new UndergraduateStudent("name" + s)); else roster.add(new GraduateStudent("name" + s)); for (int t = 1; t <= Student.NUM_OF_TESTS; t++) { roster.get(s).setTestScore(t, random.nextInt(51) + 50); } } } } }

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

More Books

Students also viewed these Databases questions