網路上還有PTT上看到一些不重複隨機整數的寫法都有些複雜,看不太懂,
後來發現有一個寫法剛好看得懂,所以記錄一下!
可以自行輸入1?某數間,產生6個不重複的隨機整數。
原文在此。
首先,先將表單設計完成,
1.新增一個可以自由輸入的Textbox。
2.新增一個Button。
3.新增要輸出產生6個亂數的Label(Label3?Label8)。
接下來在Form上下指令,將所有要呈現的亂數(Label3?Label8)設定為隱藏,
程式碼如下:
1 2 3 4 5 6 | Label3.Text = "" Label4.Text = "" Label5.Text = "" Label6.Text = "" Label7.Text = "" Label8.Text = "" |
最後在產生的button上下指令,產生6個不重複的隨機亂數。
程式碼如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | Dim a, i, n, c, b(6) As Integer a = Val(TextBox1.Text) i = 1 Randomize() If a < 6 Then MsgBox("請輸入6以上的數字", 16, "錯誤") Else Do While i <= 6 n = Int(Rnd() * a) + 1 b(i) = n For c = 1 To i - 1 If c < i And n = b(c) Then i = i - 1 End If Next i += 1 Loop Label3.Text = b(1) Label4.Text = b(2) Label5.Text = b(3) Label6.Text = b(4) Label7.Text = b(5) Label8.Text = b(6) End If |