我尝试使用多个随机变量来处理我在Visual Studio中制作的内容。这是代码。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'Declaring random variables
Dim cC1 As New Random
Dim cC2 As New Random
Dim cC3 As New Random
Dim cC4 As New Random
Dim cC5 As New Random
Dim cCard1 As New Integer
cCard1 = cC1.Next(1, 14)
Dim cCard2 As New Integer
cCard2 = cC2.Next(1, 14)
Dim cCard3 As New Integer
cCard3 = cC3.Next(1, 14)
Dim cCard4 As New Integer
cCard4 = cC4.Next(1, 14)
Dim cCard5 As New Integer
cCard5 = cC5.Next(1, 14)
'Computers random choice
Dim x As New Integer
Dim s As New Random
x = s.Next(1, 14)
还有一点,但它基本上是重复的。问题是这些"随机"变量都是一样的。我认为错误可能是因为代码是这样的:
Dim cCard1 = cC1.Next(1,14)
我已经编写了另一个用完全相同的代码执行我想要的程序,而这个程序变量并不是随机的。 :(
将其更改为当前代码后,问题仍然很突出,我正在寻找解释原因的原因,更重要的是,一种纠正此错误的方法。任何形式的帮助将受到高度赞赏!
答案 0 :(得分:3)
这是因为当您创建Random
实例时,它会使用当前时间作为其种子。种子是一个数字,当它相同时,产生完全相同的伪随机数序列。在你的情况下,这发生得足够快,所有实例共享相同的种子,因此所有实例都产生相同的第一个数字。
您应该创建一个 Random
实例并从中获取多个数字。