请不要关闭这个作为重复: 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”的假设情况,这看起来像是一个有效的担忧。 –