I'm trying to invoke the `getScore()` method in my `StudentScore` class to determine the min and max over elements in an `ArrayList`, within the `printStat()` method presented below. I'm getting an `ArrayIndexOutOfBoundException`. What does that mean, and how can I fix the problem? 

```
public class ScoreCalculator{
    private int[] scoreCounter;
    ArrayList<StudentScore> scores ;

    public ScoreCalculator(int maxScore) {
        scoreCounter = new int[maxScore];
        scores = new ArrayList<StudentScore>(maxScore); 
    }

    public void printStat() {
        System.out.println("Score Report for " + scores.size() + " Students ");

        min = 0;
        max = 0;
        int j=0;

        for ( j = 0; j < scores.size(); j++) {

            if (scores.get(j).getScore() < scores.get(j - 1).getScore()) {
                min = scores.get(j).getScore();
            } 
            if (scores.get(j).getScore() > scores.get(j - 1).getScore()) {
                max = scores.get(j).getScore();
            }
        }

        System.out.println(min);
        System.out.println(max);

    }

```