Быстрое исправление ошибки Java ArrayIndexOutOfBoundsException
-
13-09-2019 - |
Вопрос
Неужели я просто слеп, чтобы увидеть решение?
sampleSum = 0;
for(int x : sampleWeights)
sampleSum += x;
population = new int[sampleSum];
int z = 0;
for(int i = 0; i < nsamples; i++)
for(int j = 0; j < sampleWeights[i]; j++)
{
population[z] = i;
z++;
}
Любая помощь приветствуется!Спасибо!
Решение
Если все значения sampleWeights равны нулю, sampleSum будет равен нулю, а Population.length=0.Поэтому, когда вы выполняете Population[z], возникнет исключение ArrayIndexOutOfBoundsException.
Другие советы
Я предполагаю, что у вас есть N целых чисел, N = # Samples x # Weights/Sample(i)?
Если это так, то откуда вы взяли массив sampleWeights (или список с автобоксом целых чисел)?
Запустите свой код еще раз с помощью System.out.println, чтобы собрать отладочную информацию, и вы быстро увидите, что не так.
Не связан с StackOverflow