Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why isn't the random number sequence the same?

Tags:

random

vb.net

I wrote this code below, expecting it to return the same thing each time I ran it, and it did not. May someone explain to me why A specifically seeded Random Number Generator would generate a different number each time I run it, because i wrote the same program as a command line application and it worked just fine.

Here is my VB.NET code (broken code):

'Bunch of WinForms Code
Private Sub PictureBox1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles PictureBox1.Click
   Randomize(3)
   MsgBox(Rnd.ToString)
End Sub

Here is my working VB.NET Command Line Application:

Imports System.Console
Public Module rnum
    Sub Main()
        Randomize(3)
        WriteLine(Rnd.ToString) 'Returns 0.1387751
    End Sub
End Module
like image 886
Null Spark Avatar asked Apr 17 '26 08:04

Null Spark


1 Answers

What happens if you put the console code into a loop? I'm betting you would receive the same sequence of numbers. The console is running 1 time and producing the first result whereas if you click the button multiple times, you're in essence looping through the randomize results.

When I do this, 4 times I receive the same 4 numbers when I click the button 4 times.

Sub Main()
    For x As Integer = 0 To 3
        Randomize(3)
        Console.WriteLine(Rnd.ToString) 'Returns 0.1387751
    Next
    Console.ReadLine()
End Sub

produces:
0.1387751
0.05591547
0.8356526
0.2308619

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Randomize(3)
    MsgBox(Rnd.ToString)
End Sub

produces
0.1387751 on 1st click
0.05591547 on 2nd click
0.8356526 on 3rd click
0.2308619 on 4th click

like image 99
Charles May Avatar answered Apr 20 '26 00:04

Charles May



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!