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

In a course a teacher gives the following tests and assignments: -A lab activity

ID: 3535505 • Letter: I

Question

In a course a teacher gives the following tests and assignments:
-A lab activity that is assigned a numeric score.
-A pass/fail exam that has 20 questions. The minimum passing score is 70.
-An essay that is assigned a numeric score. The Score can be up to 100 and is determined in the following manner:
Grammar: 30 points
Spelling: 20 points
Correct length: 20 points
Content: 30 points
-A final exam that has 50 questions.

Write a class named course grades. The class should have a GradedActivity array named grades as a field. The array should have four elements one for each of the assignments previously described. The class should have the following methods:

setLab: This method should accept a GradedActivity object as its argument. This object should already hold the students score for the lab activity. Element 0 of the grades field should reference this object.

setPassFailExam: This method should accept a PassFailExam object as its argument. This object should already hold the student's score for the pass/fail exam. Element 1 of the grades field should reference this object.

setEssay: This method should accept an Essay object as its argument. This object should already hold the student's score for the essay. Element 2 of the grades field should reference this object.

setFinalExam: This method should accept a FinalExam object as its argument. This object should already hold the student's score for the final exam. Element 3 of the grades field should reference this object.

toString: This method should return a string that contains the numeric scores and grades for each element in the grades array.



To run this assignment create a client class CourseGradeDemo.

If for example you run CourseGradeDemo with an object of the GradedActivity with score 85, with an object for the pass/fail exam (20 total questions, 3 questions missed, minimum passing score is 70), with an object for the essay grade (Grammar = 25, spelling = 18, length = 17, content = 20), and an object for the final exam (50 questions, 10 missed) your output may look like:



Explanation / Answer

class GradedActivity{
private double score;
private char grade;

void setScore(double s){
this.score = s;
}

double getScore(){
return this.score;
}

char getGrade(){
return this.grade;
}

}

class PassFailExam extends GradedActivity{

}

class FinalExam extends GradedActivity{

}

class Essay extends GradedActivity{
private double grammar;
private double spelling;
private double correctlength;
private double content;

void setScore(double gr,double sp,double cnt){
this.grammar = gr;
this.spelling = sp;
this.content = cnt;
}

void setGrammar(double g){
this.grammar = g;
}

void setSpelling(double s){
this.spelling = s;
}

void setCorrectLength(double c){
this.CorrectLength = c;
}

void setContent(double c){
this.content = c;
}

double getGrammar(){
return this.grammar;
}

double getSpelling(){
return this.spelling;
}

double getCorrectLength(){
return this.CorrectLength;
}
}




class CourseGrade{
ArrayList grades<GradedActivity> = new ArrayList(4);

void setLab(GradedActivity lab){
this.grades[0] = lab;
}

void setPassFailExam(PassFailExam p){
this.grades[1] = p;
}

void setEssay(Essay e){
this.grades[2] = e;
}

void setFinalExam(FinalExam f){
this.grades[3] = f;
}

String toString(){
System.out.println("Lab Score : "+this.grades[0].getScore()+" Grade :"+this.grades[0].getGrade());
System.out.println("Pass/Fail Exam Score : "+this.grades[1].getScore()+" Grade :"+this.grades[1].getGrade());
System.out.println("Essay Score : "+this.grades[2].getScore()+" Grade :"+this.grades[2].getGrade());
System.out.println("Final Exam Score : "+this.grades[3].getScore()+" Grade :"+this.grades[3].getGrade());

}
}



// i am unable to include angle brackets in the comments so i have reposted the answer.