作者slbb (^___^"")
看板C_Sharp
标题请高手帮我看看问题@@...
时间Mon May 10 12:49:47 2004
我逐步debug时可以每次产生不同乱数
但是一执行 有时候会从第二个值开始重复 或是某个值之後开始重复
我一值不了解为什麽@@ 我的目的是希望检定系统产生乱数的周期
刚学这语言 用的很不好 请指教 ^^a
class randomGenerate//由系统产生0~r的随机变数
{
private static Random random;
double i;
int y;
int r=10;//每次产生的变数介於0~r之间
public int randomA()
{
random=new Random();
i=random.NextDouble();
y=(int)(r*i);
return y;
}
}
class Test//检定系统
{
public void cycle(int c,int N)//检视周期
{
if(c==0){Console.WriteLine("此乱数产生器之周期大於{0}",N);}
else{Console.WriteLine("此系统乱数产生器之周期为{0}",c);}
}
}
class Class1
{
private static randomGenerate generator;
private static Test test;
static void Main(string[] args)
{
int i,N,cycle=0;
generator=new randomGenerate();
test=new Test();
Console.WriteLine("请输入欲产生多少随机乱数?");
N=Convert.ToInt32(Console.ReadLine());
int [] random=new int[N];
if(N<=0) {Console.WriteLine("请输入正整数!");}
else
{
Console.WriteLine("所产生之乱数为:");
random[0]=generator.randomA();
Console.WriteLine(random[0]);
for(i=1;i<N;i++)
{
random[i]=generator.randomA();
Console.WriteLine(random[i]);//秀出N个系统随机乱数
}
for(i=1;i<N;i++)
{
while(random[i]==random[0])
{
while(random[i+1]==random[1]){cycle=i;break;}
break; }
}
}
//检定1:周期检定
test.cycle(cycle,N);
Console.ReadLine();
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.13.175