2015-07-11 103 views
-3

我是編程新手。我正在申請VB.net。我想要加載一個特定的表格,一個隨機數字將被生成爲1 or 2 or 3。當表格將被第二次加載時,將從1, 2 or 3生成一個隨機數字,但與之前生成的不同。並且當第三次加載表單時,將產生一個隨機數字1, 2 or 3,但與先前的2次不同,即不重複隨機數字。隨機數發生器不重複

例如,如果第一次加載時,隨機數是3,那麼第二次應該是1或2.如果第二次加載RN是2,則第三次加載應該是1.

如果有人能夠幫助我在vb.net中編寫此代碼,我將非常感激。

+0

創建一個靜態隨機生成器並將該實例用於所有表單。通常建議每個線程或應用程序只有一個隨機生成器,具體取決於設計。 – Bauss

+0

只需製作一個標準的隨機數字生成器,將生成的數字存儲在某個地方,然後當生成器再次運行時,添加一條語句以檢查生成的數字是否等於您存儲的任何數字。 – tash

回答

0

您可以從列表中獲取下一個隨機數,然後將其刪除,以便不能再次選取。

Dim rndList As New List(Of Integer) From {1,2,3} 
Static rnd As New Random 
Do Until rndlist.Count = 0 
    'get the index by random 
    Dim nextValue As Integer = rnd.Next(0, rndList.Count)) 
    'this is the value at the index 
    Debug.Write(rndList(nextValue)) 
    'remove this item 
    rndList.RemoveAt(nextValue) 
Loop