zoukankan      html  css  js  c++  java
  • 有关Rander生成随机数的问题

     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 这样第二种方法也是正确的了。
  • 相关阅读:
    stl应用(map)或字典树(有点东西)
    圆与三角形的面积(sin())
    kmp(循环节)
    kmp(多次无重叠匹配)
    【WEB-INF】WEB-INF是Java的WEB应用的安全目录
    【viewResolver】 springmvc jsp
    【welcome-file-list】让默认页生效
    【filter】springmvc web.xml
    【JSF框架】 是一种标准
    【jpa】 引用包的问题
  • 原文地址:https://www.cnblogs.com/sdya/p/3690809.html
Copyright © 2011-2022 走看看