игнорирование дополнительных аргументов после заполнения массива java - PullRequest
0 голосов
/ 14 октября 2018

Код:

//takes in the parameters by int and string and builds an array
public void setParameter(int newParameterNum, String newParameterName) {

    this.parameterNum = newParameterNum;

    this.parameterName = newParameterName;

    this.parameterList = new String[numParameters];

    this.parameterList[parameterNum] = parameterName;

    for (int i = 0; i < numParameters; i++) {

         this.countParameter += i;
    }


}

Основной код (редактировать невозможно):

//Add the needed parameters, Report should make sure I am not trying to break it
    report1.setParameter(0, "01/01/1970");
    report1.setParameter(1, "01/01/2018");
    report1.setParameter(2, "pjdt");

Ошибка:

run: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2   at

week6project.Report.setParameter (Report.java:134) at week6project.Week6Project.main (Week6Project.java:34) C: \ Users \ nicho \ AppData \Local \ NetBeans \ Cache \ 8.2 \ executor-snippets \ run.xml: 53: Java вернул: 1 BUILD FAILED (общее время: 0 секунд)

Итак, как мне проигнорировать параметрыЯ не хочу добавлять в массив?Если запрашиваемое количество параметров меньше переданных параметров.

т.е. он запрашивает 2 parameters, но в этом случае передается 3.

The numParameters is updated through this method:
public void setNumParameters(int newNumParameters) {

    this.numParameters = newNumParameters;

}

Основной метод, который устанавливает:

 //Set the number of parameters for each report
    report1.setNumParameters(2);
    report2.setNumParameters(4);

1 Ответ

0 голосов
/ 14 октября 2018

Вы получаете ошибку java.lang.ArrayIndexOutOfBoundsException при попытке доступа к элементу массива с помощью index>= array.length.

в следующей строке кода, убедитесь, что 0 <= parameterNum < numParameters

this.parameterList[parameterNum] = parameterName;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...