Код:
//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);