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 . MacBookExplanation / 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]