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

Write a class named TestScores. The class constructor should accept an array of

ID: 3796579 • Letter: W

Question

Write a class named TestScores. The class constructor should accept an array
of test scores as its argument . The class should have a method that returns
the average of the test scores. If any test score in the array is negative
or greater than 100, the class should throw an IllegalArgumentException.

Demonstrate the class in a program (create a Driver class in the same file).
The program should ask the user to input the number of test scores to be counted,
and then each individual test score. It should then make an array of those scores,
create a TestScore object , and print the average of the scores.

If an IllegalArgumentException is thrown, the main method should catch it, print "Test scores must have a value less than 100 and greater than 0." and terminate the program .

SAMPLE RUN #1: java Driver

Standard Input

5

70

65

94

55

90

Standard Output

Explanation / Answer

import java.util.ArrayList;

import java.util.Scanner;

class TestScores {
  
   private ArrayList<Integer> testScoresArr = new ArrayList<Integer>();

   public TestScores(ArrayList<Integer> testScrsArr){
       this.testScoresArr = testScrsArr;
   }
  
   public float averageTestScores() throws IllegalArgumentException
   {
       float sum = 0;
       for(int iCount=0;iCount<testScoresArr.size();iCount++){
           if(testScoresArr.get(iCount) < 0 || testScoresArr.get(iCount) > 100)
           {
               throw new IllegalArgumentException("Test scores must have a value less than 100 and greater than 0.");
           }else{
               sum += testScoresArr.get(iCount);
           }
       }
      
       if(testScoresArr.size() > 0)
           return sum / testScoresArr.size();
       return 0;
   }
}

public class Driver {

   public static void main(String[] args){

       ArrayList<Integer> values = new ArrayList<Integer>();
      
       Scanner input = new Scanner(System.in);

       int totalScores = input.nextInt();

       for(int i=0;i<totalScores;i++){
           values.add(input.nextInt());
       }
      
       System.out.println("Enter number of test scores:" + totalScores);

       for(int i=0;i<totalScores;i++){
           int iCount = i+1;
           System.out.println("Enter test score "+iCount+":"+values.get(i));
       }
      
      
       // Creating an object of TestScores class
       TestScores testscores = new TestScores(values);
       try{
           float averageScore = testscores.averageTestScores();
          
           System.out.println("The average of scores : " + averageScore);
       }catch(IllegalArgumentException e){
           //e.printStackTrace();
           System.out.println(e.getMessage());
       }
   }
}

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