Создание исключений для класса Test Scores - PullRequest
0 голосов
/ 18 апреля 2019

Я создал класс с именем TestScores, у которого есть метод, который получает среднее число тестов, которые у меня есть в массиве. Затем мне нужно создать класс исключений InvalidTestScore и переписать мой класс TestScores, чтобы иметь возможность вызвать исключение InvalidTestScore. Я думаю, я все делал правильно, но я получаю «фактические и формальные аргументы отличаются по длине ошибки». Я новичок в программировании, поэтому мне нужна помощь

public  int getAverage() throws InvalidTestScore
    {

        int total = 0;

        int average = 0;

        for(int index = 0; index < scores.length; index++)
        {
            total += scores[index]; 

            average = total/scores.length;


                try
                {
                    if(scores[index] < 0 || scores[index] > 100)
                    {
                        throw new InvalidTestScore("Index is " + index + " Score is " + scores[index]);
                    }
                }
                catch(InvalidTestScore e)
                {
                    System.out.println(e.getMessage());
                }

        }  
        return average;
    }

// Это мой класс InvalidTestScore, который находится в отдельном файле

 public class InvalidTestScore extends Exception
    {
    public InvalidTestScore()
    {
        super("Error: Test scores must range from 0 to 100");
    }
    }

1 Ответ

1 голос
/ 18 апреля 2019

Ваша ошибка лежит здесь

throw new InvalidTestScore("Index is " + index + " Score is " + scores[index]);

В вашем классе исключений ваш конструктор исключений не принимает параметров. Но вы отправляете строку в качестве параметра. Так что либо не добавляйте String в приведенную выше строку кода, либо делайте это в классе

 public class InvalidTestScore extends Exception
 {
     public InvalidTestScore(String msg)
     {
         super(msg);
     }
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...