I am trying to havea program give me the averages from the tests. If the number is over 100 it is to give me an excpetion code this is what i have thus far... having issues on line 36-38 and 40. any help would greatly appreciated.
import java.lang.IllegalArgumentException;
//declare and initialize public class TestScores
public class TestScores
{//begin class definition
// ************ declare and init vars ***********
double average; //declare double variable: average
double[] scoresAR;//declare double data-type array: scoresAR
/**
* Constructor
* @param double[] scores - scores from TestScores class
*/
public TestScores(double[] scores)
{//begin class definition
this.scoresAR = scores;//set scoresAR to the passed value of scores
double total = 0.0;//declare and initialize total as 0.0
for(int i = 0; i < scores.length; i++) {
if(scores[i] <= 0.0 || scores[i] >= 100.0)
throw new IllegalArgumentException("Scores[" + i + "] = " + scores[i]);
total += scores[i];
}
average = total / scores.length;
}
/**
* accessor method for average
* @return double average;
*/
public double getAverage()
{//begin definition of getAverage() public method
return this.average;//return this(current object's).average;
}//end definition of getAverage() public method
}//end of TestScores class
and
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package testscores.draft;
/**
*
* @author Patrick Kemp
*/
import java.util.Scanner; //import utility scanner for getting input from user
public class TestScoresDraft {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// Variables
double[] grades;
double scoreAverage;
grades = new double [2];
Scanner scan = new Scanner(System.in);//create new scanner object for grabbing put from user
System.out.print("How many scores: ");//Ask the user how many scores they want to input
int nb = scan.nextInt();//scan the input to find the number the user typed
double[] scores = new double[nb]; //declare and initialize scores with length of nb
for(int i = 0; i < nb; ++i)//for loop will loop according to the number the user typed earlier
{//begin loop statements
System.out.print("Enter next score: ");//prompt user to input score
scores[i] = scan.nextDouble();//scan the user-typed input data into the scores[] array
}//end of loop statements
TestScores ts = null;
try {
ts = new TestScores(scores);
}
scoreValue = ts.getAverage(){
}
if(ts == null) // then one of the scores was < 0.0 or > 100.0, an invalid entry
{
System.out.println("Invalid entry detected! Number must be between 0 and 100.");
}
scoreAverage = ts.getAverage();
System.out.println("The average score is: " +scoreAverage);
}
}
}
}