c#有没有函数能生成不重复的随机数,比如1-10之间的不重复随机数???
3个回答
展开全部
用Random类生成随机数,然后还前面生成的随机数比较,如果相同就删除。
然后继续用Random生成随机数只到生成的随机数一个都不重复
下面的代码可以参考一下,主要是用了RAND类的NEXT方法
int[] randomArray = new int[20];
Random random=new Random();
randomArray[0] = random.Next(1, 10);
for (int i = 1; i < 4; i++)
{
bool foundSame = false;
do
{
foundSame = false;
randomArray[i] = random.Next(1, 10);
for (int j = 0; j < i; j++)
{
if (randomArray[i] == randomArray[j])
{
foundSame = true;
break;
}
}
} while (foundSame);
}
然后继续用Random生成随机数只到生成的随机数一个都不重复
下面的代码可以参考一下,主要是用了RAND类的NEXT方法
int[] randomArray = new int[20];
Random random=new Random();
randomArray[0] = random.Next(1, 10);
for (int i = 1; i < 4; i++)
{
bool foundSame = false;
do
{
foundSame = false;
randomArray[i] = random.Next(1, 10);
for (int j = 0; j < i; j++)
{
if (randomArray[i] == randomArray[j])
{
foundSame = true;
break;
}
}
} while (foundSame);
}
展开全部
有,不过得自己写!当取到一个随机值时,从数组中排除掉,再从剩余的数组中继续取,直到数组为空!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用Random类生成随机数,然后还前面生成的随机数比较,如果相同就删除。
然后继续用Random生成随机数只到生成的随机数一个都不重复
下面的代码可以参考一下,主要是用了RAND类的NEXT方法
int[]
randomArray
=
new
int[20];
Random
random=new
Random();
randomArray[0]
=
random.Next(1,
10);
for
(int
i
=
1;
i
<
4;
i++)
{
bool
foundSame
=
false;
do
{
foundSame
=
false;
randomArray[i]
=
random.Next(1,
10);
for
(int
j
=
0;
j
<
i;
j++)
{
if
(randomArray[i]
==
randomArray[j])
{
foundSame
=
true;
break;
}
}
}
while
(foundSame);
}
然后继续用Random生成随机数只到生成的随机数一个都不重复
下面的代码可以参考一下,主要是用了RAND类的NEXT方法
int[]
randomArray
=
new
int[20];
Random
random=new
Random();
randomArray[0]
=
random.Next(1,
10);
for
(int
i
=
1;
i
<
4;
i++)
{
bool
foundSame
=
false;
do
{
foundSame
=
false;
randomArray[i]
=
random.Next(1,
10);
for
(int
j
=
0;
j
<
i;
j++)
{
if
(randomArray[i]
==
randomArray[j])
{
foundSame
=
true;
break;
}
}
}
while
(foundSame);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询