0

解決策を見るために盲目になるだけですか?

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

どんな助けでも大歓迎です!ありがとう!

4

2 に答える 2

2

すべての sampleWeights がゼロの場合、sampleSum はゼロになり、population.length=0 になります。したがって、population[z] を実行すると、ArrayIndexOutOfBoundsException が発生します。

于 2009-06-10T20:26:14.730 に答える
1

N 個の整数、N = # サンプル x # 重み/サンプル(i) があると思いますか?

この場合、sampleWeights 配列 (または整数のオートボックス化されたリスト) をどこから取得しましたか?

System.out.println を使用してコードを再度実行し、デバッグ情報を収集すると、何が問題なのかがすぐにわかります。

于 2009-06-10T20:25:17.943 に答える