In a course, a teacher gives the following tests and assignments: • A lab activi
ID: 3715753 • Letter: I
Question
In a course, a teacher gives the following tests and assignments: • A lab activity that is observed by the teacher and assigned a numeric score. • A pass/fail exam that has 10 questions. The minimum passing score is 70, • An essay that is assigned a numeric score. • A final exam that has 50 questions. Write a class named CourseGrades. 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 student's score for the lab activity. Element 0 of the grades field should reference this object setPassFailExam: This method should accept a PassFailExan object as its argument. This object should already hold the student's score for the pass/fail exam. Element I of the grades field should reference thil object. MtEssay: This method should accept an Essay object as its argument, (See Programming Challenge 4 for the Essay class. If you have not completed Programming Challenge 4, use a GradedActivity object instead.) This object should already hold the student's score for the essay, Element 2 of the grades field should reference this object. satFinalExam: This method should accept an Essay object as its argument, (See Programming Challenge 4 for the Essay class. If you have not completed Programming Challenge 4, use a GradedActivity object instead.) This object should already hold the student's score for the essay, Element 2 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 Demonstrate the class in a program
So far my program works but it's not getting the score...HELP
public class GradedActivity
{
private double score;
public void setScore(double s){
score =s;
}
public double getScore(){
return score;
}
public char getGrade(){
char grade;
if (score >= 90)
grade = 'A';
else if (score >= 80)
grade = 'B';
else if (score >= 70)
grade = 'C';
else if (score >= 60)
grade = 'D';
else
grade = 'F';
return grade;
}
}
public class LabActivity extends GradedActivity
{
double score;
public LabActivity(double x)
{
score = x;
}
}
public class PassFailExam extends GradedActivity
{
double score;
public PassFailExam(double x)
{
score=x;
}
}
public class Essay extends GradedActivity
{
double score;
public Essay(double x)
{
score=x;
}
}
public class FinalExam extends GradedActivity
{
double score;
public FinalExam(double x)
{
score=x;
}
}
public class CourseGrades
{
private GradedActivity[] grades = new GradedActivity[4];
double score;
public void setLab(LabActivity la)
{
grades[0]=la;
}
public void setPassFailExam(PassFailExam pfe)
{
grades[1]=pfe;
}
public void setEssay(Essay e)
{
grades[2]=e;
}
public void setFinalExam(FinalExam fe)
{
grades[3]=fe;
}
public String toString()
{
LabActivity la=(LabActivity)grades[0];
PassFailExam pfe=(PassFailExam)grades[1];
Essay e=(Essay)grades[2];
FinalExam fe=(FinalExam)grades[3];
String temp= "Lab Activity: "
+ " Score: " + grades[0].getScore()
+ " Grade: " + grades[0].getGrade()
+ " PassFailExam Score: "
+ " Score: " + grades[1].getScore()
+ " Grade: " + grades[1].getGrade()
+ " Essay score: "
+ " Score: " + grades[2].getScore()
+ " Grade: " + grades[2].getGrade()
+ " FinalExam score: "
+ " Score: " + grades[3].getScore()
+ " Grade: " + grades[3].getGrade();
return temp;
}
}
import java.util.Scanner;
public class CourseGradeDemo
{
public static void main(String arg[])
{
double score;
Scanner input=new Scanner(System.in);
System.out.println("Enter the score for lab activity:");
score=input.nextInt();
LabActivity la= new LabActivity (score);
System.out.println("Enter the score for pass/fail exam activity:");
score=input.nextInt();
PassFailExam pfe=new PassFailExam(score);
System.out.println("Enter the score for Essay activity:");
score=input.nextInt();
Essay e=new Essay(score);
System.out.println("Enter the score for final exam activity:");
score=input.nextInt();
FinalExam fe=new FinalExam(score);
CourseGrades cg=new CourseGrades();
cg.setLab(la);
cg.setPassFailExam(pfe);
cg.setFinalExam(fe);
cg.setEssay(e);
System.out.println(cg.toString());
}
}
Explanation / Answer
import java.util.*;
class GradedActivity
{
private double score;
public void setScore(double s){
score =s;
}
public double getScore(){
return score;
}
public char getGrade(){
char grade;
if (score >= 90)
grade = 'A';
else if (score >= 80)
grade = 'B';
else if (score >= 70)
grade = 'C';
else if (score >= 60)
grade = 'D';
else
grade = 'F';
return grade;
}
}
class LabActivity extends GradedActivity
{
public LabActivity(double x)
{
setScore(x); // pass score to base class to display score and grade
}
}
class PassFailExam extends GradedActivity
{
public PassFailExam(double x)
{
setScore(x);// pass score to base class to display score and grade
}
}
class Essay extends GradedActivity
{
public Essay(double x)
{
setScore(x);// pass score to base class to display score and grade
}
}
class FinalExam extends GradedActivity
{
public FinalExam(double x)
{
setScore(x);// pass score to base class to display score and grade
}
}
class CourseGrades
{
private GradedActivity[] grades = new GradedActivity[4];
double score;
public void setLab(LabActivity la)
{
grades[0]=la;
}
public void setPassFailExam(PassFailExam pfe)
{
grades[1]=pfe;
}
public void setEssay(Essay e)
{
grades[2]=e;
}
public void setFinalExam(FinalExam fe)
{
grades[3]=fe;
}
public String toString()
{
LabActivity la=(LabActivity)grades[0];
PassFailExam pfe=(PassFailExam)grades[1];
Essay e=(Essay)grades[2];
FinalExam fe=(FinalExam)grades[3];
String temp= "Lab Activity: "
+ " Score: " + grades[0].getScore()
+ " Grade: " + grades[0].getGrade()
+ " PassFailExam Score: "
+ " Score: " + grades[1].getScore()
+ " Grade: " + grades[1].getGrade()
+ " Essay score: "
+ " Score: " + grades[2].getScore()
+ " Grade: " + grades[2].getGrade()
+ " FinalExam score: "
+ " Score: " + grades[3].getScore()
+ " Grade: " + grades[3].getGrade();
return temp;
}
}
class CourseGradeDemo
{
public static void main(String arg[])
{
double score;
Scanner input=new Scanner(System.in);
System.out.println("Enter the score for lab activity:");
score=input.nextInt();
LabActivity la= new LabActivity (score);
System.out.println("Enter the score for pass/fail exam activity:");
score=input.nextInt();
PassFailExam pfe=new PassFailExam(score);
System.out.println("Enter the score for Essay activity:");
score=input.nextInt();
Essay e=new Essay(score);
System.out.println("Enter the score for final exam activity:");
score=input.nextInt();
FinalExam fe=new FinalExam(score);
CourseGrades cg=new CourseGrades();
cg.setLab(la);
cg.setPassFailExam(pfe);
cg.setFinalExam(fe);
cg.setEssay(e);
System.out.println(cg.toString());
}
}
Output:
Enter the score for lab activity:80
Enter the score for pass/fail exam activity:78
Enter the score for Essay activity:54
Enter the score for final exam activity:66
Lab Activity:
Score: 80.0 Grade: B
PassFailExam Score:
Score: 78.0 Grade: C
Essay score:
Score: 54.0 Grade: F
FinalExam score:
Score: 66.0 Grade: D
Do ask if any doubt. please upvote.