如何用C#随机输出一个4位数,且每个位数上的数值都不相同。
来源:百度知道 编辑:UC知道 时间:2024/06/19 09:04:09
int j = 0;
int i = 0;
while (j == 0)
{
Random rm = new Random();
i = rm.Next(1000, 9999);
string[] a = new string[4];
a[0] = i.ToString().Substring(0, 1);
a[1] = i.ToString().Substring(1, 1);
a[2] = i.ToString().Substring(2, 1);
a[3] = i.ToString().Substring(3, 1);
for (int m = 0; m < 4; m++)
{
for (int n = 0; n < 4; n++)
{
if (a[m] == a[n])
{ j = 0; }
else { j = 1; }
}
int a=-1,b=-1,c=-1,d=-1,ret;
Random rm = new Random();
a = rm.Next(1,9); //千位数
while(b==-1||b==a)
b=rm.Next(0,9);//百位数
while(c==-1||c==a||c==b)
c=rm.Next(0,9);
while(d==-1||d==a||d==b||d==c)
d=rm.Next(0,9);
ret= a*1000+b*100+c*10+d;
1.做一个char数组 char[] = { '0' , '1' ...}以此类推
2.随机数生成0到数组长度的索引位数字
3.取char数组中随机生成索引位数字
4.删除随机生成索引位数字
5.重复2-4步三次
6.拼接四次获得的char即可
记事本敲的,可能有小错误编译不过
int j = 0;
int i = 0;
while (j == 0)
{
Random rm = new Random();
i = rm.Next(1000, 9999);
string[] a = new string[4];
a[0] = i.ToString().Substring(0, 1);
a[1] = i.ToString().Substring(1, 1);
a[2] = i.ToString().Substring(2, 1);
a[3] = i.ToString().Substring(3, 1);
arraylist mylist=new arraylist();
mylist.add(a);
bool ifHave=false;
for(int i=0;i<4;i++)
{
if(m