2

こんにちは、0 と 10 の間の 5 つの一意の数字です。次のようにしています。

Dim RandomClass As New Random()
Dim RandomNumber As Integer
For counter As Integer = 0 To 5
    RandomNumber = RandomClass.Next(0, 10)
    MsgBox(RandomNumber )
Next

「1,7,4,9,3」という数字を取得することもありますが、「5,2,3,2,7」のような重複した数字を取得することもあります

毎回一意の番号を確実に取得するにはどうすればよいですか?

ありがとうございました。

4

4 に答える 4

6

すでに印刷された数字を覚えておくために使用HashSet(Of Integer)します。

Dim RandomClass As New Random()
Dim RememberSet As New HashSet(Of Integer)

Dim RandomNumber As Integer

While RememberSet.Count < 5
    RandomNumber = RandomClass.Next(0, 10)
    If RememberSet.Add(RandomNumber) Then
        MsgBox(RandomNumber)
    End If
End While
于 2013-08-17T21:57:39.793 に答える