我只是为了看待解决方案而失明吗?

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

任何帮助都将受到赞赏!谢谢!

有帮助吗?

解决方案

如果所有样品重量为零样品将为零,群体= 0。因此,当您进行总体[z]时,将会有一个arrayindexoutofboundsexception。

其他提示

我认为您有n个整数,n =#samples x#weights/sample(i)?

如果是这种情况,您从何处获得了sampleWeights数组(或给出整数的自动氧化)?

再次使用一些System.out.println的代码来收集调试信息,您会很快看到出了什么问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top