考虑到算法效率~你其实可以用另一种方式来实现~
先生成一个1-15按顺序的数组
然后生成随机变量种子~
每次取一个在数组长度内的随机数
然后取出对应的数值并放到另一个数组中
而存的那十五个数值的数组则把该数值去除~这样十五次就能得到了~
代码如下:
//定义数组~并给出长度
List
//设置初始值
for (int i = 1; i < 16; i++)
{
ilist.Add(i);
}
Random rd = new Random();
//要得到15个随机数
int[] ShowNum = new int[15];
for (int i = 0; i < 15; i++)
{
//临时变量
int temp = rd.Next(ilist.Count);
//取随机数
ShowNum[i] = ilist[temp];
ilist.Remove(ilist[temp]);
}
1、用随机数生成函数生成随机数
2、然后用生成的数字除与15,取余
3、循环上面2步骤,一直到生成15个。
把已经生成的随机数存入一个数组,然后再次生成随机数时,与数组的元素比较,若相等,重新生成,若不相等,直接存入数组。
random r=new random();
int num=r.next(1,15);
先定义1-15的集合,然后随机从该集合中拿出一个来放到一个数组中,最后再把这个数组遍历下
List
for(int i=1;i<=15;i++)
list.add(i);
int[] arr=new int[15];
Random rand=new Random();
for(i=15;i>1;i--)
{
int randNum=list[rand.Next(i)];
list.Remove(randNum);
arr[i-1]=randNum;
}
意思知道下,手写代码可能有错。还有错误自己在改下。