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

Write an exception class named InvalidTestScore. Modify the TestScores class you

ID: 3922208 • Letter: W

Question

Write an exception class named InvalidTestScore. Modify the TestScores class
you wrote in Exercise 1 so that it throws an InvalidTestScore exception if
any of the test scores in the array are invalid.

Test your exception in a program (in a Driver class located in the same file).
Your program should prompt the user to enter the number of test scores, and then
ask for each test score individually. Then, it should print the average of
the test scores.

If the average method throws an InvalidTestScore exception, the main method should catch it and print “Invalid test score.”

Explanation / Answer

TestScores.java

import java.util.Scanner;


public class TestScores {

   public static void main(String[] args) {
       Scanner scan = new Scanner(System.in);
       System.out.println("Enter number of scores: ");
       int n = scan.nextInt();
       int a[] = new int[n];
       for(int i=0; i<n; i++){
           System.out.println("Enter score: ");
           a[i] = scan.nextInt();
          
       }
       try{
       double avg = average(a);
       }
       catch(InvalidTestScore exp){
       System.out.println(exp) ;
       }
   }
   public static double average(int a[]) throws InvalidTestScore{
       int sum = 0;
      
           for(int i=0; i<a.length; i++){
           if(a[i] < 0 || a[i] > 100){
               throw new InvalidTestScore("Invalid Test Score");
           }
           sum = sum + a[i];  
           }
           double average = sum/(double)a.length;
           System.out.println("Average is "+average);
       return average;  
   }

}

InvalidTestScore.java


public class InvalidTestScore extends Exception{
   String errorMsg ;
   public InvalidTestScore(String s){
       this.errorMsg = s;
   }
public String toString(){
return (errorMsg ) ;
}  
}

Output:

Enter number of scores:
3
Enter score:
80
Enter score:
90
Enter score:
70
Average is 80.0

Enter number of scores:
3
Enter score:
56
Enter score:
78
Enter score:
-33
Invalid Test Score

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote