please use comments to explain, and must be in java please show screen shots of each step after each step is completed .
Program Specifications Write a program to calculate a course grade given points for homework, quizzes, midterm exam, and final exam. Grades are calculated differently for undergrads, grads and distance learners. Note: this program is designed for incremental development. Complete each step and submit for grading before starting the next step. Only a portion of tests pass after each step but confirm progress. Step 1 (2 pts). Read from input student status (String), homework points, quiz points, midterm exam score, and final exam score (double) Valid student status includes undergrad (UG), grad YG ), and distance leaner (DL). Calculate each category average using maximum points for homework ( 800 ), quizzes (400), midterm exam (150), and final exam (200). Output an error message if student status is not one of the three options. Otherwise, output category averages as a percentage using System. out. print (f "Homework: \&. 1f\&z", homework). Submit for grading to confirm two tests pass. Ex. If the input is: UG600.0300.0120.0185.0 The output is Homework: 75.08 Quizzes: 75.04 Midterm; 80.04 Final Exam: 92.58 Ex: If the input is: TL 600300120180 The output is: Error: student status must be UG, G or DL Step 2 (2 pts). Set any average to 100% if average is above 100%. Submit for grading to confirm three tests pass. Ex: If the input is: UG700.0300.0200.0205.0 The output is: Homework: 87.5 8 Qulzzes: 75.0% Midterm: 100.0% Final Exam: 100.09 Step 3 ( 2 pts). Calculate the course average based on student status using the table below. Output the course average. Submit for grading to confirm five tests pass: Ex: If the input is: G800.0400.0 The output is: Homework: 100.08 Quizzes: 100.0% Midterm: 66.78 Final Exam: 50.08 G average: 65.8% Step 4 (4 pts). Identify the course letter grade based on the course average using the table below Output the course letter grade. Submit for grading to confirm all tests pass