讓我盡我所能解釋我的問題,好吧,說我們有一個Random
類用特定的種子構建。在這一點上,我們可以使用.next()
方法來獲取從種子派生的下一個值。Java隨機序列
我似乎需要一種方法來從這個序列中獲取值,而不是爲了。例如,如果Random有一個類似.get(X)
的方法,它將返回第X個調用.next()
時的值。
我能想到的一種方法是使用for
循環X次,在每個循環中調用.next()
但不分配變量。這不會很好,因爲A.性能和B.它將隨機序列留在X處,這意味着如果你的下一個X比原來的X小,你將不得不重構Random
。
下面是我想解決這個問題的另一種方法。也許你可以從舊種子和X中派生一個臨時的新種子,一次調用next()
並存儲該值,然後將Random
返回到其原始種子。我不知道從兩個值中獲得這個新種子的典型方式,可能是一些瘋狂的按位操作。我對這種方法的所有嘗試都沒有足夠的隨機性。
恩,謝謝你的幫助!
你正在追逐一個虛假的目標。在一個好的隨機生成器中,.next()與.get(X)是無法區分的。如果標準Random對你來說足夠好,你不需要.get(X)。如果不是,則.get(X)將與.next()一樣差。 –
你如何得出結論:使用for循環方法不會因爲性能和(B)你的問題的原因而工作? – swapnil7
絕對沒有理由關閉。完美的問題。 – Basilevs