請不要關閉這個作爲重複: How to generate random positive and negative numbers in java在一個範圍內生成一個隨機數。沒有Overlflow。在Java
我需要使用一個隨機數發生器用種子。所以,我使用了java.util.Random類和constructor類,它需要一個種子。
Random random = new Random(System.currentTimeMillis());
然後我用在上述螺紋給出
int randomValue = random.nextInt(max - min + 1) + min;
然而該解決方案,在上述溶液中的問題是,如果min是一個大的負號和max是一個大的正數,那麼(max - min + 1)會導致溢出。
應該有更好的解決方案。任何人都可以請指點我吧。
謝謝!
這的確是,_unless_您提供更多信息重複。 – devnull
嗨devnull,我提供的信息爲什麼不是重複的。原因是(最大 - 最小+ 1)可能導致溢出。 – user544192
@devnull:除非我誤解,否則鏈接的答案不會觸及涉及「Integer.MIN_VALUE」和「Integer.MAX_VALUE」的假設情況,這看起來像是一個有效的擔憂。 –