2013-01-05 17 views
-1

可能重複:
Random permutation of integers using a random number generator如何使一個隨機數,但它不會產生相同數量

比如我需要做一個隨機數從1到30。但它不會產生相同的隨機數。產生的數字必須彼此不同。

這可能嗎?

感謝

+1

您將需要保留已經生成的數字的List,以便如果隨機數字在該列表中,則會再次嘗試。 –

+0

你可以使用這個問答技巧:http://stackoverflow.com/questions/9052519/non-repeating-random-number-array – Mat

+1

@DevinStewart:這是非常低效的。考慮一下生成第30個號碼所需的重試次數。 –

回答

7

創建包含1-30 List<Integer>,使用Collections.shuffle()洗牌,然後遍歷列表。當然,在列表的最後,不可能有一個尚未生成的新號碼。