2010-11-18 57 views
0

嗨 認爲我有一個for循環:for(int i = 0;i<4;i++)的Math.random在Java

for循環,我想打印的隨機數的0至3,結果包括來自這只是3個數字。並且每次循環執行時,math.random的結果必須不同,即 我有4個數字:(1,2,3,4) ,我希望在for循環執行後有4個結果:[1, 2,3] [1,2,4] [2,3,4] [4,1,3] 我怎樣才能產生這些數字? 感謝

+1

你的問題是非常不清楚。首先你要談論的是數字0到3,然後是1到4 ......請澄清,並舉例說明迄今爲止你已經嘗試了什麼,以及它沒有爲你做什麼。 – 2010-11-18 07:16:26

回答

3

這裏有一個想法:

  1. 做一個「主」列表中,將保留您所有需要的元素,從0到3(或1至4,無論你需要)
  2. shuffle列表使用Collections.shuffle
  3. 反過來,列出到堆棧
  4. 流行一切從堆棧
  5. 重複2-4需要

第4步是您將隨機獲取所有元素而不會重複的步驟。

注意:在第3步中,如果看起來更容易,也可以從主列表而不是堆棧創建新列表,但基本前提是相同的。

+0

謝謝,我明白了! – user472221 2010-11-18 07:38:54