我的RandomPermutation类和fillPermutation方法:
public class RandomPermutation
{
public int permutation[];
private int numAttempts[];
public void fillPermutation(int numItems, int seed)
{
if (permutation.length!=numItems)
permutation = new int[numItems];
Random rand = new Random(seed);
permutation[0]=rand.nextInt(numItems-1);
numAttempts[0]=1;
for(int i=1; i<numItems-1; i++)
{
int count = 0;
int m=rand.nextInt(numItems);
for(int j=0; j<i-1; j++)
while(m==permutation[j])
{
m=rand.nextInt(numItems);
count++;
}
permutation[i]=m;
numAttempts[i]=count;
}
}
}
主要课程的要求:
“最初,main函数应该为numItems = 10调用fill-function一次,并打印如下所示的置换和numAt-tempts。你还需要在整个过程中创建整数m,但是在生成输出的第二部分之前关闭m的打印;将输出保存在某个文件中。然后,在main函数中添加带有numItems = 10和numIterationss = 100000的调用averNumAttempts以生成输出的第二部分,将它保存在第一个输出文件的末尾。最后,提交代码的纸质副本和输出文件。“
那么如何使用void方法完成这项工作呢?如果有人需要澄清,那么关于代码其他部分的分配表上会有更多信息。
提前致谢!