Pregunta

¿Estoy ciego para ver la solución?

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++;
}  

Cualquier ayuda se agradece! Gracias!

¿Fue útil?

Solución

Si todos sampleWeights es cero sampleSum será cero y population.length = 0. Así que cuando lo hace la población [z] habrá un ArrayIndexOutOfBoundsException.

Otros consejos

I suponer que usted tiene N enteros, N = # Muestras x # pesos / muestra (i)?

Si este es el caso, ¿de dónde se obtiene la matriz sampleWeights (o lista dada autoboxing de enteros)?

Ejecutar el código de nuevo con un poco de System.out.println para recopilar información de depuración, y que da gusto ver lo que está mal.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top