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
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
Output has to read like this (Standard Output):
Enternumberoftestscores:Entertestscore1:Entertestscore2:Entertestscore3:Entertestscore4:Entertestscore5:74.8
Problems Detected: The contents of your standard output is incorrect.
Given the following was entered from the keyboard: 5 70 65 94 55 90 you displayed: Enter number of test scores:5Enter test score 1:70Enter test score 2:65Enter test score 3:94Enter test score 4:55Enter test score 5:90The average of scores : 74.8 instead of: Enter number of test scores:Enter test score 1:Enter test score 2:Enter test score 3:Enter test score 4:Enter test score 5:74.8
What is wrong with my code:
import java.util.ArrayList;
import java.util.Scanner;
class TestScores { private ArrayList
public TestScores(ArrayList
public class Driver {
public static void main(String[] args){
ArrayList
int totalScores = input.nextInt();
for(int i=0;i for(int i=0;i
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
