有关Rander生成随机数的问题

 首先我们说的是要生成一个随机数要求传入两个参数。一个表示生成的个数,另外一个表示生成的长度
.
public void shengchengsuijishu(int lenght)
{
char[] a={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','','','','','','','','','',''};
Rander rd=new Rander();
for(int j=;j<lenght;j++)
{
int i=rd.Next(,);//随机生成一个1,36之间的数字
stringbulider sb=new stringbulid();
sb.appand(a[i-]);
}
}
注意的就是Rander rd=new Rander();不能够放到for循环内。因为随机数的生成和时间和种子有关。
如果放到for循环类就会出现for循环中每次产生的随机数都是一样子的。种子默认是一样的。
所以说上面写法是正确的。
但是同样也能够这样子写 .
public void shengchengsuijishu(int lenght)
{
char[] a={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','','','','','','','','','',''};
for(int j=;j<lenght;j++)
{
Rander rd=new Rander(j);//这样就为rander设置了种子。
int i=rd.Next(,);//随机生成一个1,36之间的数字
stringbulider sb=new stringbulid();
sb.appand(a[i-]);
}
}
这样第二种方法也是正确的了。
上一篇:Appium 自动化测试(7) -- Appium 服务器初始化参数设置


下一篇:discuz回贴通知插件实现-用户状态设置