本文整理匯總了VB.NET中System.Random.Next方法的典型用法代碼示例。如果您正苦於以下問題:VB.NET Random.Next方法的具體用法?VB.NET Random.Next怎麽用?VB.NET Random.Next使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類System.Random
的用法示例。
在下文中一共展示了Random.Next方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的VB.NET代碼示例。
示例1: Example
Module Example
Public Sub Main()
Console.Write("Number of random numbers to generate: ")
Dim line As String = Console.ReadLine()
Dim numbers As UInteger = 0
Dim rnd As New Random()
If Not UInt32.TryParse(line, numbers) Then numbers = 10
For ctr As UInteger = 1 To numbers
Console.WriteLine("{0,15:N0}", rnd.Next())
Next
End Sub
End Module
' The example displays output like the following when asked to generate
' 15 random numbers:
' Number of random numbers to generate: 15
' 1,733,189,596
' 566,518,090
' 1,166,108,546
' 1,931,426,514
' 1,341,108,291
' 1,012,698,049
' 890,578,409
' 1,377,589,722
' 2,108,384,181
' 1,532,939,448
' 762,207,767
' 815,074,920
' 1,521,208,785
' 1,950,436,671
' 1,266,596,666
示例2: RandomProportional
' This derived class converts the uniformly distributed random
' numbers generated by base.Sample( ) to another distribution.
Public Class RandomProportional
Inherits Random
' The Sample method generates a distribution proportional to the value
' of the random numbers, in the range [0.0, 1.0].
Protected Overrides Function Sample( ) As Double
Return Math.Sqrt( MyBase.Sample( ) )
End Function
Public Overrides Function [Next]() As Integer
Return Sample() * Integer.MaxValue
End Function
End Class
Module RandomSampleDemo
Sub Main( )
Const rows As Integer = 4, cols As Integer = 6
Const runCount As Integer = 1000000
Const distGroupCount As Integer = 10
Const intGroupSize As Double = _
( CDbl( Integer.MaxValue ) + 1.0 ) / _
CDbl( distGroupCount )
Dim randObj As New RandomProportional( )
Dim intCounts( distGroupCount ) As Integer
Dim realCounts( distGroupCount ) As Integer
Dim i As Integer, j As Integer
Console.WriteLine( vbCrLf & _
"The derived RandomProportional class overrides " & _
"the Sample method to " & vbCrLf & _
"generate random numbers in the range " & _
"[0.0, 1.0]. The distribution " & vbCrLf & _
"of the numbers is proportional to their numeric " & _
"values. For example, " & vbCrLf & _
"numbers are generated in the vicinity of 0.75 " & _
"with three times " & vbCrLf & "the " & _
"probability of those generated near 0.25." )
Console.WriteLine( vbCrLf & _
"Random doubles generated with the NextDouble( ) " & _
"method:" & vbCrLf )
' Generate and display [rows * cols] random doubles.
For i = 0 To rows - 1
For j = 0 To cols - 1
Console.Write( "{0,12:F8}", randObj.NextDouble( ) )
Next j
Console.WriteLine( )
Next i
Console.WriteLine( vbCrLf & _
"Random integers generated with the Next( ) " & _
"method:" & vbCrLf )
' Generate and display [rows * cols] random integers.
For i = 0 To rows - 1
For j = 0 To cols - 1
Console.Write( "{0,12}", randObj.Next( ) )
Next j
Console.WriteLine( )
Next i
Console.WriteLine( vbCrLf & _
"To demonstrate the proportional distribution, " & _
"{0:N0} random " & vbCrLf & _
"integers and doubles are grouped into {1} " & _
"equal value ranges. This " & vbCrLf & _
"is the count of values in each range:" & vbCrLf, _
runCount, distGroupCount )
Console.WriteLine( "{0,21}{1,10}{2,20}{3,10}", _
"Integer Range", "Count", "Double Range", "Count" )
Console.WriteLine( "{0,21}{1,10}{2,20}{3,10}", _
"-------------", "-----", "------------", "-----" )
' Generate random integers and doubles, and then count
' them by group.
For i = 0 To runCount - 1
intCounts( Fix( CDbl( randObj.Next( ) ) / _
intGroupSize ) ) += 1
realCounts( Fix( randObj.NextDouble( ) * _
CDbl( distGroupCount ) ) ) += 1
Next i
' Display the count of each group.
For i = 0 To distGroupCount - 1
Console.WriteLine( _
"{0,10}-{1,10}{2,10:N0}{3,12:N5}-{4,7:N5}{5,10:N0}", _
Fix( CDbl( i ) * intGroupSize ), _
Fix( CDbl( i + 1 ) * intGroupSize - 1.0 ), _
intCounts( i ), _
CDbl( i ) / CDbl( distGroupCount), _
CDbl( i + 1 ) / CDbl( distGroupCount ), _
realCounts( i ) )
Next i
End Sub
End Module
輸出:
The derived RandomProportional class overrides the Sample method to generate random numbers in the range [0.0, 1.0]. The distribution of the numbers is proportional to their numeric values. For example, numbers are generated in the vicinity of 0.75 with three times the probability of those generated near 0.25. Random doubles generated with the NextDouble( ) method: 0.28377004 0.75920598 0.33430371 0.66720626 0.97080243 0.27353772 0.17787962 0.54618410 0.08145080 0.56286100 0.99002910 0.64898614 0.27673277 0.99455281 0.93778966 0.76162002 0.70533771 0.44375798 0.55939883 0.87383136 0.66465779 0.77392566 0.42393411 0.82409159 Random integers generated with the Next( ) method: 1364479914 1230312341 1657373812 1526222928 988564704 700078020 1801013705 1541517421 1146312560 338318389 1558995993 2027260859 884520932 1320070465 570200106 1027684711 943035246 2088689333 630809089 1705728475 2140787648 2097858166 1863010875 1386804198 To demonstrate the proportional distribution, 1,000,000 random integers and doubles are grouped into 10 equal value ranges. This is the count of values in each range: Integer Range Count Double Range Count ------------- ----- ------------ ----- 0- 214748363 9,892 0.00000-0.10000 9,928 214748364- 429496728 30,341 0.10000-0.20000 30,101 429496729- 644245093 49,958 0.20000-0.30000 49,964 644245094- 858993458 70,099 0.30000-0.40000 70,213 858993459-1073741823 90,801 0.40000-0.50000 89,553 1073741824-1288490187 109,699 0.50000-0.60000 109,427 1288490188-1503238552 129,438 0.60000-0.70000 130,339 1503238553-1717986917 149,886 0.70000-0.80000 150,000 1717986918-1932735282 170,338 0.80000-0.90000 170,128 1932735283-2147483647 189,548 0.90000-1.00000 190,347
示例3: NoBoundsRandoms
' Example of the Random.Next( ) methods.
Module RandomNextDemo
' Generate random numbers with no bounds specified.
Sub NoBoundsRandoms( seed As Integer )
Console.WriteLine( vbCrLf & _
"Random object, seed = {0}, no bounds:", seed )
Dim randObj As New Random( seed )
' Generate six random integers from 0 to int.MaxValue.
Dim j As Integer
For j = 0 To 5
Console.Write( "{0,11} ", randObj.Next( ) )
Next j
Console.WriteLine( )
End Sub
' Generate random numbers with an upper bound specified.
Sub UpperBoundRandoms( seed As Integer, upper As Integer )
Console.WriteLine( vbCrLf & _
"Random object, seed = {0}, upper bound = {1}:", _
seed, upper )
Dim randObj As New Random( seed )
' Generate six random integers from 0 to the upper bound.
Dim j As Integer
For j = 0 To 5
Console.Write( "{0,11} ", randObj.Next( upper ) )
Next j
Console.WriteLine( )
End Sub
' Generate random numbers with both bounds specified.
Sub BothBoundsRandoms( _
seed As Integer, lower As Integer, upper As Integer )
Console.WriteLine( vbCrLf & _
"Random object, seed = {0}, lower = {1}, " & _
"upper = {2}:", seed, lower, upper )
Dim randObj As New Random( seed )
' Generate six random integers from the lower to
' upper bounds.
Dim j As Integer
For j = 0 To 5
Console.Write( "{0,11} ", _
randObj.Next( lower, upper ) )
Next j
Console.WriteLine( )
End Sub
Sub Main( )
Console.WriteLine( _
"This example of the Random.Next( ) methods" & _
vbCrLf & "generates the following output." & vbCrLf )
Console.WriteLine( _
"Create Random objects all with the same seed " & _
"and generate" & vbCrLf & "sequences of numbers " & _
"with different bounds. Note the effect " & vbCrLf & _
"that the various combinations " & _
"of bounds have on the sequences." )
NoBoundsRandoms( 234 )
UpperBoundRandoms( 234, Int32.MaxValue )
UpperBoundRandoms( 234, 2000000000 )
UpperBoundRandoms( 234, 200000000 )
BothBoundsRandoms( 234, 0, Int32.MaxValue )
BothBoundsRandoms( 234, Int32.MinValue, Int32.MaxValue )
BothBoundsRandoms( 234, -2000000000, 2000000000 )
BothBoundsRandoms( 234, -200000000, 200000000 )
BothBoundsRandoms( 234, -2000, 2000 )
End Sub
End Module
' This example of the Random.Next( ) methods
輸出:
Create Random objects all with the same seed and generate sequences of numbers with different bounds. Note the effect that the various combinations of bounds have on the sequences. Random object, seed = 234, no bounds: 2091148258 1024955023 711273344 1081917183 1833298756 109460588 Random object, seed = 234, upper bound = 2147483647: 2091148258 1024955023 711273344 1081917183 1833298756 109460588 Random object, seed = 234, upper bound = 2000000000: 1947533580 954563751 662424922 1007613896 1707392518 101943116 Random object, seed = 234, upper bound = 200000000: 194753358 95456375 66242492 100761389 170739251 10194311 Random object, seed = 234, lower = 0, upper = 2147483647: 2091148258 1024955023 711273344 1081917183 1833298756 109460588 Random object, seed = 234, lower = -2147483648, upper = 2147483647: 2034812868 -97573602 -724936960 16350718 1519113864 -1928562472 Random object, seed = 234, lower = -2000000000, upper = 2000000000: 1895067160 -90872498 -675150156 15227793 1414785036 -1796113767 Random object, seed = 234, lower = -200000000, upper = 200000000: 189506716 -9087250 -67515016 1522779 141478503 -179611377 Random object, seed = 234, lower = -2000, upper = 2000: 1895 -91 -676 15 1414 -1797
示例4: Example
Module Example
Public Sub Main()
Dim rnd As New Random()
Dim malePetNames() As String = { "Rufus", "Bear", "Dakota", "Fido",
"Vanya", "Samuel", "Koani", "Volodya",
"Prince", "Yiska" }
Dim femalePetNames() As String = { "Maggie", "Penny", "Saya", "Princess",
"Abby", "Laila", "Sadie", "Olivia",
"Starlight", "Talla" }
' Generate random indexes for pet names.
Dim mIndex As Integer = rnd.Next(malePetNames.Length)
Dim fIndex As Integer = rnd.Next(femalePetNames.Length)
' Display the result.
Console.WriteLine("Suggested pet name of the day: ")
Console.WriteLine(" For a male: {0}", malePetNames(mIndex))
Console.WriteLine(" For a female: {0}", femalePetNames(fIndex))
End Sub
End Module
輸出:
Suggested pet name of the day: For a male: Koani For a female: Maggie
示例5: Example
Module Example
Public Sub Main()
Dim rnd As New Random()
Console.WriteLine("20 random integers from -100 to 100:")
For ctr As Integer = 1 To 20
Console.Write("{0,6}", rnd.Next(-100, 101))
If ctr Mod 5 = 0 Then Console.WriteLine()
Next
Console.WriteLine()
Console.WriteLine("20 random integers from 1000 to 10000:")
For ctr As Integer = 1 To 20
Console.Write("{0,8}", rnd.Next(1000, 10001))
If ctr Mod 5 = 0 Then Console.WriteLine()
Next
Console.WriteLine()
Console.WriteLine("20 random integers from 1 to 10:")
For ctr As Integer = 1 To 20
Console.Write("{0,6}", rnd.Next(1, 11))
If ctr Mod 5 = 0 Then Console.WriteLine()
Next
End Sub
End Module
輸出:
20 random integers from -100 to 100: 65 -95 -10 90 -35 -83 -16 -15 -19 41 -67 -93 40 12 62 -80 -95 67 -81 -21 20 random integers from 1000 to 10000: 4857 9897 4405 6606 1277 9238 9113 5151 8710 1187 2728 9746 1719 3837 3736 8191 6819 4923 2416 3028 20 random integers from 1 to 10: 9 8 5 9 9 9 1 2 3 8 1 4 8 10 5 9 7 9 10 5
示例6: Example
Module Example
Public Sub Main()
Dim rnd As New Random()
Dim malePetNames() As String = { "Rufus", "Bear", "Dakota", "Fido",
"Vanya", "Samuel", "Koani", "Volodya",
"Prince", "Yiska" }
Dim femalePetNames() As String = { "Maggie", "Penny", "Saya", "Princess",
"Abby", "Laila", "Sadie", "Olivia",
"Starlight", "Talla" }
' Generate random indexes for pet names.
Dim mIndex As Integer = rnd.Next(0, malePetNames.Length)
Dim fIndex As Integer = rnd.Next(0, femalePetNames.Length)
' Display the result.
Console.WriteLine("Suggested pet name of the day: ")
Console.WriteLine(" For a male: {0}", malePetNames(mIndex))
Console.WriteLine(" For a female: {0}", femalePetNames(fIndex))
End Sub
End Module
輸出:
Suggested pet name of the day: For a male: Koani For a female: Maggie
示例7: MainClass
' 導入命名空間
Imports System
Public Class MainClass
Shared Sub Main(ByVal args As String())
Dim friends() As String = {"1", "2", "3","4", "5"}
Dim upperBound As Integer = friends.Length
Dim random As New System.Random()
Dim n As Integer
For n = 1 To 10
Dim index As Integer = random.Next(upperBound)
Console.WriteLine(index & ": " & friends(index))
Next
End Sub
End Class