Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Insert Design Layout References Mailings Review View» 11-A-Av As· ngabA A-AvA.In

ID: 3855449 • Letter: I

Question

Insert Design Layout References Mailings Review View» 11-A-Av As· ngabA A-AvA.Inga"AA courier New Courier New 1111 , ..a@-s. _ 'A' 91 Exercise 1 Implement the following UML diagram. Note that the abstract class is indicated with italics and shading. Course - courseName: String - instructorString - finalGzade : double I/ represents the final average course grade + setName (n : String) void + getName: String + setkinalSrade (gdouble: void + getrinalGrade double + getinstructor String + abstract calulateFinalGrade + testring String void II abstract method ComputerSeience - grades double - numGrades: int + ComputerScience (num int) + getGrades doublet + addGrade( grade: doublevoid + salculateFinalGzade (void + tostring string Notes: Course class: The tosting method returns the name ofthe course, the instructor, and be final average grade age 3 of 4 710 words . MacBook

Explanation / Answer

CourseDemo.java

public class CourseDemo {

public static void main(String[] args) {

ComputerScience c = new ComputerScience(3);

c.setName("CSE");

c.setInstructor("Suresh");

c.addGrade(55.5);

c.addGrade(65.5);

c.addGrade(75.5);

c.calculateFinalGrade();

System.out.println(c.toString());

}

}

Course.java

public abstract class Course {

private String courseName, instructor;

private double finalGrade;

public Course() {

}

public String getName() {

return courseName;

}

public void setName(String courseName) {

this.courseName = courseName;

}

public String getInstructor() {

return instructor;

}

public void setInstructor(String instructor) {

this.instructor = instructor;

}

public double getFinalGrade() {

return finalGrade;

}

public void setFinalGrade(double finalGrade) {

this.finalGrade = finalGrade;

}

public abstract void calculateFinalGrade();

@Override

public String toString() {

return "Course [courseName=" + courseName + ", finalGrade="

+ finalGrade + ", instructor=" + instructor + "]";

}

}

ComputerScience.java

import java.util.Arrays;

public class ComputerScience extends Course{

private double grades[];

private int numGrades;

public ComputerScience(int num) {

grades = new double[num];

this.numGrades = 0;

}

public double[] getGrades() {

return grades;

}

public void addGrade(double grade) {

grades[numGrades++] = grade;

}

@Override

public String toString() {

return super.toString()+" ComputerScience [grades=" + Arrays.toString(grades)

+ ", numGrades=" + numGrades + "]";

}

@Override

public void calculateFinalGrade() {

double total = 0;

for(int i=0;i<grades.length;i++) {

total+=grades[i];

}

setFinalGrade(total/grades.length);

}

}

Output:

Course [courseName=CSE, finalGrade=65.5, instructor=Suresh]
ComputerScience [grades=[55.5, 65.5, 75.5], numGrades=3]