zoukankan      html  css  js  c++  java
  • Random类不能产生随机数的情况测试

       今天本想写段程序,产生一个1到100个随机数序列供使用,意外的发现一个问题,rd.Next产生全是

    一样的数。就做了个测试,发出来给大家瞅瞅,也给自己留个记号~~
       一、背景:产生一个1到100个随机数序列供使用,通过Random类的Next(int minValue,int

    maxValue)方法。
       二、系统环境:VS2008,FrameWork3.5
       三、操作过程:

    3.1、产生同数字的情况:
      private void button4_Click(object sender, EventArgs e)
             {
                  List<int> list = new List<int>();
                  for (int i = 0; i < 31; i++)
                  {
                      list.Add(GetRandom());
                  }
                  listBox1.DataSource = list;
             }
             private int GetRandom()
             {
                  Random rd = new Random();
                  return rd.Next(0, 101);
             }
           3.2、产生随机数字的情况:
      private void button4_Click(object sender, EventArgs e)
             {
                  List<int> list = new List<int>();
                  for (int i = 0; i < 31; i++)
                  {
                      list.Add(GetRandom());
                      Thread.Sleep(20);
                  }
                  listBox1.DataSource = list;
             }
          3.3、另外我也直接用了rd.Next(),产生的同样结果。
      
          3.4、把Thread.Sleep(20);改成小于20毫秒的情况时,如(15,10),也会产生相似结果。

    四、结论:
       Random类的Next方法连续执行的情况下,产生随机数相同;在执行间隔小于一定时间内,产生

    的随机数相同。

    出处: http://www.cnblogs.com/windy2008

  • 相关阅读:
    JAVA合并两个有序的单链表,合并之后的链表依然有序
    excel如何将一个单元格内容拆分成多个单元格?(用到了数据->分列)
    Navicat导入excel的xlsx文件提示无法打开文件
    Request对象实现请求转发
    MessageFormat.format()和String.format()
    使用Servlet动态生成验证码
    Http协议
    使用freemarker导出word
    java注解学习(1)注解的作用和三个常用java内置注解
    SSM_CRUD新手练习(6)分页后台控制器编写
  • 原文地址:https://www.cnblogs.com/windy2008/p/1689740.html
Copyright © 2011-2022 走看看