0
我在我的oncreate()開頭打了2個清單,然後我想在稍後點擊一個「新遊戲」按鈕時再次洗牌。他們第一次洗牌我用:多次洗牌清單
final Random rnd = new Random();
final int seed = rnd.nextInt();
rnd.setSeed(seed);
Collections.shuffle(Arrays.asList(answerChoices),rnd);
rnd.setSeed(seed);
Collections.shuffle((resources),rnd);
一切工作正常。然而,當我嘗試再次按下「新遊戲」按鈕時再次洗牌時,我嘗試使用與上面相同的方法,並嘗試更改rnd和seed的名稱,但它無法正常工作。第二次洗牌後,列表不符合他們應該。有什麼我應該嘗試的建議?
你是什麼意思的「名單不匹配,因爲他們應該」? –
列表第二次洗牌,但他們不匹配。他們第一次洗牌他們匹配。通過匹配我的意思是列表1的第0行應該始終對應列表2的第0行,無論他們在被混洗後切換到哪裏。 – ez4nick
所以,如果我正確理解你,你是隨機洗牌兩個名單,但期望他們有相同的結果?這看起來很危險,因爲不應該依賴'shuffle'的行爲是可重複的。我建議你使用另一種機制,例如將一個列表進行混洗,或者同時對兩個列表進行自己的混洗。 –