1 首先我们说的是要生成一个随机数要求传入两个参数。一个表示生成的个数,另外一个表示生成的长度 2 1. 3 public void shengchengsuijishu(int lenght) 4 { 5 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','0','9','8','7','6','5','4','3','2','1'}; 6 Rander rd=new Rander(); 7 for(int j=1;j<lenght;j++) 8 { 9 int i=rd.Next(1,36);//随机生成一个1,36之间的数字 10 stringbulider sb=new stringbulid(); 11 sb.appand(a[i-1]); 12 } 13 } 14 注意的就是Rander rd=new Rander();不能够放到for循环内。因为随机数的生成和时间和种子有关。 15 如果放到for循环类就会出现for循环中每次产生的随机数都是一样子的。种子默认是一样的。 16 所以说上面写法是正确的。 17 但是同样也能够这样子写 18 19 2. 20 public void shengchengsuijishu(int lenght) 21 { 22 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','0','9','8','7','6','5','4','3','2','1'}; 23 for(int j=1;j<lenght;j++) 24 { 25 Rander rd=new Rander(j);//这样就为rander设置了种子。 26 int i=rd.Next(1,36);//随机生成一个1,36之间的数字 27 stringbulider sb=new stringbulid(); 28 sb.appand(a[i-1]); 29 } 30 } 31 这样第二种方法也是正确的了。