最近,我编写了一个工作正常的程序。我想通过为程序应用不同的随机种子来获得多个结果,其中包括随机方法。我用两种方式做到了,一种是手动改变随机种子30次,通过为每个种子运行它我们可以得到一个结果;另一种方法是添加" for"循环生成与第一种方法中使用的相同的随机种子,最后通过运行它,我得到了多个(30)结果。问题是当我将结果与第一种方法的结果逐一比较时,其中一些是不同的。我感到困惑,请帮助我。
我可能会将其描述如下,以使您更清楚。
假设我的单个程序是" void sp(int i)",其中" i"是种子的接口。
(1)第一种方法是改变" i"单个程序的手动,并逐个运行。
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
int sample = 0; //sample is the random seed: 0, 1, 2, ..., 29
sp(sample);
}
(2)第二种方法是添加" for"循环生成随机种子。
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
for(int sample = 0; sample < 30; sample ++){ //sample is the random seed
sp(sample);
}
}
第10,16和28号结果不同。为什么会这样,以及如何处理它。
我的平台是DELL OPTIPLEX 960,操作系统是Windows 7(64位),软件是
Eclipse Standard / SDK
版本:Luna Release(4.4.0) 构建ID:20140612-0600。
提前致谢。
随着