Write a program Grader that that will be used by a program d

Write a program Grader that that will be used by a program driver to enter in grades that a student has earned and the prints out their final grade. In this particular scenario there are nine (9) grades for a student throughout the course of the semester. These assignments are

1. HW 01

2. HW 02

3. Lab 01

4. Lab 02

5. Lab 03

6. Lab 04

7. Midterm 01

8. Midterm 02

9. Final Exam

When computing the final numerical grade, use the following weights • Homework - 10% • Labs - 40% • Midterms - 25% • Final Exam - 25%. Once you have the numerical result for the student, the Alphabetical grade can be computed using

A - total 90 B+ - 90 > total 85 B - 85 > total 80 C+ - 80 > total 75 C - 75 > total 70 D+ - 70 > total 65 D - 65 > total 60 F - 60 > total

You have been supplied with a “Driver class” called TestGrader which creates an instance of a Grader object and runs each method from the Grader class. The methods that you will need to create are:

The default constructor Grader()- You should create class variables for each assignment, the numerical total, and (for brevity) a scanner object for your grader class. Initialize all of the numerical variables to zero (0), and create your Scanner object for user input.

A private method called checkRange that takes a double as an argument and checks to see if the supplied double is within the acceptable range (0-100). If not, print “Invalid Grade” and exit.

Public “setter” methods (also known as modifiers) for the class variables corresponding to each assignment (Ex. setHW01(), setLab02(), etc)

A method called calculateFinalGrade that calculates the final grade using the weights specified above.

A method called printFinalGrade that prints the final alphabetical grade that corresponds to the numerical total. A method called printGrades() that prints the assignment data

This is what is given by the \"Driver Class\"

/*
*
*/

import java.util.Scanner;
import java.util.InputMismatchException;

public class TestGrader {
  
public static void main (String[] args) {
Scanner scan = new Scanner(System.in);

Grader myGrader = new Grader();
while (true) {
prompt(myGrader);

try {
// Get the user\'s answer
int userinput = scan.nextInt();
// Catch the eol
scan.nextLine();

switch (userinput) {
case 1:
myGrader.setHW01();
myGrader.calculateFinalGrade();
break;
case 2:
myGrader.setHW02();
myGrader.calculateFinalGrade();
break;
case 3:
myGrader.setLab01();
myGrader.calculateFinalGrade();
break;
case 4:
myGrader.setLab02();
myGrader.calculateFinalGrade();
break;
case 5:
myGrader.setLab03();
myGrader.calculateFinalGrade();
break;
case 6:
myGrader.setLab04();
myGrader.calculateFinalGrade();
break;
case 7:
myGrader.setMidterm01();
myGrader.calculateFinalGrade();
break;
case 8:
myGrader.setMidterm02();
myGrader.calculateFinalGrade();
break;
case 9:
myGrader.setFinalExam();
myGrader.calculateFinalGrade();
break;
default:
System.exit(1);
}
} catch (Exception e) {
System.out.println(\"You did not enter a valid input. Exiting.\");
System.exit(1);
}
}
}

public static void prompt(Grader g) {
g.printGrades();
System.out.println(\"What would you like to do?\");
System.out.println(\"Enter 1: To enter a grade for HW 01\");
System.out.println(\"Enter 2: To enter a grade for HW 02\");
System.out.println(\"Enter 3: To enter a grade for Lab 01\");
System.out.println(\"Enter 4: To enter a grade for Lab 02\");
System.out.println(\"Enter 5: To enter a grade for Lab 03\");
System.out.println(\"Enter 6: To enter a grade for Lab 04\");
System.out.println(\"Enter 7: To enter a grade for Midterm 01\");
System.out.println(\"Enter 8: To enter a grade for Midterm 02\");
System.out.println(\"Enter 9: To enter a grade for the Final Exam\");
System.out.println(\"Enter 0: To Quit\");
System.out.println();
}
}

Solution

import java.util.Scanner;
import java.util.InputMismatchException;
class Grader
{
   double HW01, HW02, Lab01, Lab02, Lab03, Lab04, Midterm01, Midterm02, FinalExam, total, val;
   String grade;
   Scanner sc = new Scanner(System.in);
   //Constructor to Initialize data member
   Grader()
   {
       HW01 = 0;   HW02 = 0;
       Lab01 = 0;   Lab02 = 0;   Lab03 = 0;   Lab04 = 0;
       Midterm01 = 0;   Midterm02 = 0;
       FinalExam = 0;   total = 0;
   }
   //Displays the grade
   void printGrades()
   {
       System.out.println(\"Home Work01 mark:\" + HW01);
       System.out.println(\"Home Work02 mark:\" + HW02);
       System.out.println(\"Lab01 mark:\" + Lab01);
       System.out.println(\"Lab02 mark:\" + Lab02);
       System.out.println(\"Lab03 mark:\" + Lab03);
       System.out.println(\"Lab04 mark:\" + Lab04);
       System.out.println(\"Midterm01 mark:\" + Midterm01);
       System.out.println(\"Midterm02 mark:\" + Midterm02);
       System.out.println(\"Final Exam mark:\" + FinalExam);
       System.out.println(\"Grade:\" + grade);
   }
   //Sets Marks
   void setFinalExam()
   {
       System.out.println(\"Enter Final Exam mark: \");
       double c = sc.nextDouble();
       val = checkRange(c);
       if(val == 1)      
           FinalExam = c;
       else
       {
           System.out.println(\"Invalid Grade\");
           System.exit(1);
       }
   }
   void setMidterm02()
   {
       System.out.println(\"Enter Midterm 02 mark: \");
       double c = sc.nextDouble();
       val = checkRange(c);
       if(val == 1)      
           Midterm02 = c;
       else
       {
           System.out.println(\"Invalid Grade\");
           System.exit(1);
       }
   }
   void setMidterm01()
   {
       System.out.println(\"Enter Midterm 01 mark: \");
       double c = sc.nextDouble();
       val = checkRange(c);
       if(val == 1)      
           Midterm01 = c;
       else
       {
           System.out.println(\"Invalid Grade\");
           System.exit(1);
       }
   }

   void setLab04()
   {
       System.out.println(\"Enter Lab 04 mark: \");
       double c = sc.nextDouble();
       val = checkRange(c);
       if(val == 1)      
           Lab04 = c;
       else
       {
           System.out.println(\"Invalid Grade\");
           System.exit(1);
       }
   }

   void setLab03()
   {
       System.out.println(\"Enter Lab 03 mark: \");
       double c = sc.nextDouble();
       val = checkRange(c);
       if(val == 1)      
           Lab03 = c;
       else
       {
           System.out.println(\"Invalid Grade\");
           System.exit(1);
       }
   }

   void setLab02()
   {
       System.out.println(\"Enter Lab 02 mark: \");
       double c = sc.nextDouble();
       val = checkRange(c);
       if(val == 1)      
           Lab02 = c;
       else
       {
           System.out.println(\"Invalid Grade\");
           System.exit(1);
       }
   }

   void setLab01()
   {
       System.out.println(\"Enter Lab 01 mark: \");
       double c = sc.nextDouble();
       val = checkRange(c);
       if(val == 1)      
           Lab01 = c;
       else
       {
           System.out.println(\"Invalid Grade\");
           System.exit(1);
       }
   }
   void setHW01()
   {
       System.out.println(\"Enter Home Work 01 mark: \");
       double c = sc.nextDouble();
       val = checkRange(c);
       if(val == 1)      
           HW01 = c;
       else
       {
           System.out.println(\"Invalid Grade\");
           System.exit(1);
       }
   }
   void setHW02()
   {
       System.out.println(\"Enter Home Work 02 mark: \");
       double c = sc.nextDouble();
       val = checkRange(c);
       if(val == 1)      
           HW02 = c;
       else
       {
           System.out.println(\"Invalid Grade\");
           System.exit(1);
       }
   }
   //Checks for the range 0 - 100
   int checkRange(double d)
   {
       if(d >=0 && d <= 100)
           return 1;
       else
           return 0;
   }
   //Grade Calculation
   void calculateFinalGrade()
   {
       double H01, H02, L01, L02, L03, L04, M01, M02, F;
       H01 = HW01 * .1;
       H02 = HW02 * .1;
       L01 = Lab01 * .4;
       L02 = Lab02 * .4;
       L03 = Lab03 * .4;
       L04 = Lab04 * .4;
       M01 = Midterm01 * .25;
       M02 = Midterm02 * .25;
       F = FinalExam * .25;
       total = H01 + H02 + L01 + L02 + L03 + L04 + M01 + M02 + F;
       if(total >= 90)
           grade = \"A\";
       else if(total >= 85)
           grade = \"B+\";
       else if(total >= 80)
           grade = \"B\";
       else if(total >= 75)
           grade = \"C+\";
       else if(total >= 70)
           grade = \"C\";
       else if(total >= 65)
           grade = \"D+\";
       else if(total >= 60)
           grade = \"D\";
       else
           grade = \"F\";
   }
  
}

public class TestGrader
{
   public static void main (String[] args)
   {
       Scanner scan = new Scanner(System.in);
       Grader myGrader = new Grader(); //Creates Object of Grader class
       while (true) //Continues till 0 is pressed
       {
           //Displays menu
           prompt(myGrader);
           try
           {
               // Get the user\'s answer
               int userinput = scan.nextInt();
               // Catch the eol
               scan.nextLine();
               switch (userinput)
               {
                   case 1:
                       myGrader.setHW01();
                       myGrader.calculateFinalGrade();
                   break;
                   case 2:
                       myGrader.setHW02();
                       myGrader.calculateFinalGrade();
                   break;
                   case 3:
                       myGrader.setLab01();
                       myGrader.calculateFinalGrade();
                   break;
                   case 4:
                       myGrader.setLab02();
                       myGrader.calculateFinalGrade();
                   break;
                   case 5:
                       myGrader.setLab03();
                       myGrader.calculateFinalGrade();
                   break;
                   case 6:
                       myGrader.setLab04();
                       myGrader.calculateFinalGrade();
                   break;
                   case 7:
                       myGrader.setMidterm01();
                       myGrader.calculateFinalGrade();
                   break;
                   case 8:
                       myGrader.setMidterm02();
                       myGrader.calculateFinalGrade();
                   break;
                   case 9:
                       myGrader.setFinalExam();
                       myGrader.calculateFinalGrade();
                   break;
                   default:
                       System.exit(1);
               }
           }
           catch (Exception e)
           {
               System.out.println(\"You did not enter a valid input. Exiting.\");
               System.exit(1);
           }          
       }
   }
   public static void prompt(Grader g)
   {
       System.out.println(\"What would you like to do?\");
       System.out.println(\"Enter 1: To enter a grade for HW 01\");
       System.out.println(\"Enter 2: To enter a grade for HW 02\");
       System.out.println(\"Enter 3: To enter a grade for Lab 01\");
       System.out.println(\"Enter 4: To enter a grade for Lab 02\");
       System.out.println(\"Enter 5: To enter a grade for Lab 03\");
       System.out.println(\"Enter 6: To enter a grade for Lab 04\");
       System.out.println(\"Enter 7: To enter a grade for Midterm 01\");
       System.out.println(\"Enter 8: To enter a grade for Midterm 02\");
       System.out.println(\"Enter 9: To enter a grade for the Final Exam\");
       System.out.println(\"Enter 0: To Quit\");
       System.out.println();
       g.printGrades();
   }
}

Output 1:

What would you like to do?
Enter 1: To enter a grade for HW 01
Enter 2: To enter a grade for HW 02
Enter 3: To enter a grade for Lab 01
Enter 4: To enter a grade for Lab 02
Enter 5: To enter a grade for Lab 03
Enter 6: To enter a grade for Lab 04
Enter 7: To enter a grade for Midterm 01
Enter 8: To enter a grade for Midterm 02
Enter 9: To enter a grade for the Final Exam
Enter 0: To Quit

Home Work01 mark:0.0
Home Work02 mark:0.0
Lab01 mark:0.0
Lab02 mark:0.0
Lab03 mark:0.0
Lab04 mark:0.0
Midterm01 mark:0.0
Midterm02 mark:0.0
Final Exam mark:0.0
Grade:null
1
Enter Home Work 01 mark:
102
Invalid Grade

Output 2:

What would you like to do?
Enter 1: To enter a grade for HW 01
Enter 2: To enter a grade for HW 02
Enter 3: To enter a grade for Lab 01
Enter 4: To enter a grade for Lab 02
Enter 5: To enter a grade for Lab 03
Enter 6: To enter a grade for Lab 04
Enter 7: To enter a grade for Midterm 01
Enter 8: To enter a grade for Midterm 02
Enter 9: To enter a grade for the Final Exam
Enter 0: To Quit

Home Work01 mark:0.0
Home Work02 mark:0.0
Lab01 mark:0.0
Lab02 mark:0.0
Lab03 mark:0.0
Lab04 mark:0.0
Midterm01 mark:0.0
Midterm02 mark:0.0
Final Exam mark:0.0
Grade:null
1
Enter Home Work 01 mark:
80
What would you like to do?
Enter 1: To enter a grade for HW 01
Enter 2: To enter a grade for HW 02
Enter 3: To enter a grade for Lab 01
Enter 4: To enter a grade for Lab 02
Enter 5: To enter a grade for Lab 03
Enter 6: To enter a grade for Lab 04
Enter 7: To enter a grade for Midterm 01
Enter 8: To enter a grade for Midterm 02
Enter 9: To enter a grade for the Final Exam
Enter 0: To Quit

Home Work01 mark:80.0
Home Work02 mark:0.0
Lab01 mark:0.0
Lab02 mark:0.0
Lab03 mark:0.0
Lab04 mark:0.0
Midterm01 mark:0.0
Midterm02 mark:0.0
Final Exam mark:0.0
Grade:F
2
Enter Home Work 02 mark:
90
What would you like to do?
Enter 1: To enter a grade for HW 01
Enter 2: To enter a grade for HW 02
Enter 3: To enter a grade for Lab 01
Enter 4: To enter a grade for Lab 02
Enter 5: To enter a grade for Lab 03
Enter 6: To enter a grade for Lab 04
Enter 7: To enter a grade for Midterm 01
Enter 8: To enter a grade for Midterm 02
Enter 9: To enter a grade for the Final Exam
Enter 0: To Quit

Home Work01 mark:80.0
Home Work02 mark:90.0
Lab01 mark:0.0
Lab02 mark:0.0
Lab03 mark:0.0
Lab04 mark:0.0
Midterm01 mark:0.0
Midterm02 mark:0.0
Final Exam mark:0.0
Grade:F
3
Enter Lab 01 mark:
86
What would you like to do?
Enter 1: To enter a grade for HW 01
Enter 2: To enter a grade for HW 02
Enter 3: To enter a grade for Lab 01
Enter 4: To enter a grade for Lab 02
Enter 5: To enter a grade for Lab 03
Enter 6: To enter a grade for Lab 04
Enter 7: To enter a grade for Midterm 01
Enter 8: To enter a grade for Midterm 02
Enter 9: To enter a grade for the Final Exam
Enter 0: To Quit

Home Work01 mark:80.0
Home Work02 mark:90.0
Lab01 mark:86.0
Lab02 mark:0.0
Lab03 mark:0.0
Lab04 mark:0.0
Midterm01 mark:0.0
Midterm02 mark:0.0
Final Exam mark:0.0
Grade:F
4
Enter Lab 02 mark:
90
What would you like to do?
Enter 1: To enter a grade for HW 01
Enter 2: To enter a grade for HW 02
Enter 3: To enter a grade for Lab 01
Enter 4: To enter a grade for Lab 02
Enter 5: To enter a grade for Lab 03
Enter 6: To enter a grade for Lab 04
Enter 7: To enter a grade for Midterm 01
Enter 8: To enter a grade for Midterm 02
Enter 9: To enter a grade for the Final Exam
Enter 0: To Quit

Home Work01 mark:80.0
Home Work02 mark:90.0
Lab01 mark:86.0
Lab02 mark:90.0
Lab03 mark:0.0
Lab04 mark:0.0
Midterm01 mark:0.0
Midterm02 mark:0.0
Final Exam mark:0.0
Grade:B+
5
Enter Lab 03 mark:
60
What would you like to do?
Enter 1: To enter a grade for HW 01
Enter 2: To enter a grade for HW 02
Enter 3: To enter a grade for Lab 01
Enter 4: To enter a grade for Lab 02
Enter 5: To enter a grade for Lab 03
Enter 6: To enter a grade for Lab 04
Enter 7: To enter a grade for Midterm 01
Enter 8: To enter a grade for Midterm 02
Enter 9: To enter a grade for the Final Exam
Enter 0: To Quit

Home Work01 mark:80.0
Home Work02 mark:90.0
Lab01 mark:86.0
Lab02 mark:90.0
Lab03 mark:60.0
Lab04 mark:0.0
Midterm01 mark:0.0
Midterm02 mark:0.0
Final Exam mark:0.0
Grade:A
6
Enter Lab 04 mark:
50
What would you like to do?
Enter 1: To enter a grade for HW 01
Enter 2: To enter a grade for HW 02
Enter 3: To enter a grade for Lab 01
Enter 4: To enter a grade for Lab 02
Enter 5: To enter a grade for Lab 03
Enter 6: To enter a grade for Lab 04
Enter 7: To enter a grade for Midterm 01
Enter 8: To enter a grade for Midterm 02
Enter 9: To enter a grade for the Final Exam
Enter 0: To Quit

Home Work01 mark:80.0
Home Work02 mark:90.0
Lab01 mark:86.0
Lab02 mark:90.0
Lab03 mark:60.0
Lab04 mark:50.0
Midterm01 mark:0.0
Midterm02 mark:0.0
Final Exam mark:0.0
Grade:A
7
Enter Midterm 01 mark:
98
What would you like to do?
Enter 1: To enter a grade for HW 01
Enter 2: To enter a grade for HW 02
Enter 3: To enter a grade for Lab 01
Enter 4: To enter a grade for Lab 02
Enter 5: To enter a grade for Lab 03
Enter 6: To enter a grade for Lab 04
Enter 7: To enter a grade for Midterm 01
Enter 8: To enter a grade for Midterm 02
Enter 9: To enter a grade for the Final Exam
Enter 0: To Quit

Home Work01 mark:80.0
Home Work02 mark:90.0
Lab01 mark:86.0
Lab02 mark:90.0
Lab03 mark:60.0
Lab04 mark:50.0
Midterm01 mark:98.0
Midterm02 mark:0.0
Final Exam mark:0.0
Grade:A
8
Enter Midterm 02 mark:
99
What would you like to do?
Enter 1: To enter a grade for HW 01
Enter 2: To enter a grade for HW 02
Enter 3: To enter a grade for Lab 01
Enter 4: To enter a grade for Lab 02
Enter 5: To enter a grade for Lab 03
Enter 6: To enter a grade for Lab 04
Enter 7: To enter a grade for Midterm 01
Enter 8: To enter a grade for Midterm 02
Enter 9: To enter a grade for the Final Exam
Enter 0: To Quit

Home Work01 mark:80.0
Home Work02 mark:90.0
Lab01 mark:86.0
Lab02 mark:90.0
Lab03 mark:60.0
Lab04 mark:50.0
Midterm01 mark:98.0
Midterm02 mark:99.0
Final Exam mark:0.0
Grade:A
9
Enter Final Exam mark:
98
What would you like to do?
Enter 1: To enter a grade for HW 01
Enter 2: To enter a grade for HW 02
Enter 3: To enter a grade for Lab 01
Enter 4: To enter a grade for Lab 02
Enter 5: To enter a grade for Lab 03
Enter 6: To enter a grade for Lab 04
Enter 7: To enter a grade for Midterm 01
Enter 8: To enter a grade for Midterm 02
Enter 9: To enter a grade for the Final Exam
Enter 0: To Quit

Home Work01 mark:80.0
Home Work02 mark:90.0
Lab01 mark:86.0
Lab02 mark:90.0
Lab03 mark:60.0
Lab04 mark:50.0
Midterm01 mark:98.0
Midterm02 mark:99.0
Final Exam mark:98.0
Grade:A
0

Write a program Grader that that will be used by a program driver to enter in grades that a student has earned and the prints out their final grade. In this par
Write a program Grader that that will be used by a program driver to enter in grades that a student has earned and the prints out their final grade. In this par
Write a program Grader that that will be used by a program driver to enter in grades that a student has earned and the prints out their final grade. In this par
Write a program Grader that that will be used by a program driver to enter in grades that a student has earned and the prints out their final grade. In this par
Write a program Grader that that will be used by a program driver to enter in grades that a student has earned and the prints out their final grade. In this par
Write a program Grader that that will be used by a program driver to enter in grades that a student has earned and the prints out their final grade. In this par
Write a program Grader that that will be used by a program driver to enter in grades that a student has earned and the prints out their final grade. In this par
Write a program Grader that that will be used by a program driver to enter in grades that a student has earned and the prints out their final grade. In this par
Write a program Grader that that will be used by a program driver to enter in grades that a student has earned and the prints out their final grade. In this par
Write a program Grader that that will be used by a program driver to enter in grades that a student has earned and the prints out their final grade. In this par
Write a program Grader that that will be used by a program driver to enter in grades that a student has earned and the prints out their final grade. In this par
Write a program Grader that that will be used by a program driver to enter in grades that a student has earned and the prints out their final grade. In this par

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site