Domanda

Mi sto solo cieco per vedere la soluzione?

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

Ogni aiuto è apprezzato! Grazie!

È stato utile?

Soluzione

Se tutti sampleWeights è zero sampleSum sarà zero e population.length = 0. Quindi, quando si fa la popolazione [z] ci sarà un ArrayIndexOutOfBoundsException.

Altri suggerimenti

I presumere che avete N interi, N = # I campioni x # pesi / campione (i)?

Se questo è il caso, da dove hai preso l'array sampleWeights (o Lista dato autoboxing di interi)?

Eseguire il codice nuovo con una certa System.out.println di raccogliere informazioni di debug, e vedrete rapidamente che cosa c'è che non va.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top