随机数是经常需要使用到的,而且很多时候我们需要用到的是产生一组随机数,然后随机数不能相同。
下面的例子是我做的一个产生在0~13当中产生4个不相同的随机数的一个类。
namespace 产生随机数
{
public class newRandom
{
//声明4个私有变量
private int newrandom1;
private int newrandom2;
private int newrandom3;
private int newrandom4;
public newRandom()
{
int j, temp;
//产生一个数组存放0~13的数字
int[] myData = new int[14];
for (int i = 0; i < 14; i++)
{
myData[i] = i;
}
//随机混排一个数组
Random MyRandom = new Random();
for (int x = 0; x < 1000; x++) //对数组进行1000次排列
{
j = MyRandom.Next(0, 13); //随机产生一个位置
//从随机位置向左移动数据
temp = myData[j];
for (int i = j; i < 13; i++)
{
myData[i] = myData[i + 1];
myData[13] = temp;
}
}
newrandom1 = myData[0];
newrandom2 = myData[1];
newrandom3 = myData[2];
newrandom4 = myData[3];
}
//设置类的属性
public int Newrandom1
{
get
{
return newrandom1;
}
}
public int Newrandom2
{
get
{
return newrandom2;
}
}
public int Newrandom3
{
get
{
return newrandom3;
}
}
public int Newrandom4
{
get
{
return newrandom4;
}
}
}
}
事实上这里所用的方法是将14个数付给一个数组,然后将数组混排1000次,就像一付扑克,我们将这付扑克洗1000次,这样再整齐的扑克都会被打乱,以上用的方法就是这样,把这一个数组打乱,然后取出前4位,这样得到的前4位数就是随机的,而且完全不相同的随机数了。
在程序里调用只需要直接调用这个类就可以了,调用的代码如下:
newRandom MyRandom = new newRandom();
int a=MyRandom.Newrandom1;
int b=MyRandom.Newrandom2;
int c=MyRandom.Newrandom3;
int d=MyRandom.Newrandom4;
[此贴子已经被作者于2007-7-31 10:00:57编辑过]