随机数是经常需要使用到的,而且很多时候我们需要用到的是产生一组随机数,然后随机数不能相同。
下面的例子是我做的一个产生在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编辑过]



 
											






 
	    

 
	