随机数的生成---Random

引子

  在算法的学习中,怎么也躲不过对数据的处理。那么对于随机数的生成也是其中重要的一环。最近在使用C#来设计我的算法程序,遇到了随机数生成的需要,下面是我的实现:

实现

  下面来说我的实现过程:
①首先获取用户输入的数组容量(ArraySize)
②设置循环的代码,生成随机数,添加随机数到列表

代码

for (int i = 1; i < Convert.ToInt32(ArraySize.Text) ; i++)
     {            
           int J = new Random().Next(0, 3000); //生成一个随机数赋给J

           stUnsorted.Items.Add(J);            //将随机J数添加到列表

      }

  代码没有太多波折就实现,可是出现的问题却令我哭笑不得,随机生成了100个数,居然都一样。
Random()明明是随机数函数怎么让我用成了一样的…

解决问题

在网上文档的几次查询后了解到,Random()生成的是一种伪随机数。
在极短的时间内重复生成将会生成相同的随机数。
那么该如何实现我们的需要的随机数呢,我做了下面的修改。

Random Rad = new Random();
for (int i = 0; i < Convert.ToInt32(txtSize.Text) ; i++)
     {            
          int J = Rad.Next(0, 3000);
          lstUnsorted.Items.Add(J);

      }

  在循环外先声明一次函数,之后在循环内重复使用。

小结

  很多的知识只有你亲自实践了才会有更深入的了解。不断的发现解决新的问题,点滴积累对语言更多的认识,荣幸与您分享~

猜你喜欢

转载自blog.csdn.net/u010349629/article/details/79519435