Java:间隔内的随机长整型值
2022-09-03 12:25:48
可能的重复:
Java:0 <= x < n范围内的随机长数
我想在一个区间内生成一个随机的长值,但似乎 Random 类 nextLong() 不接受像 nextInt() 这样的参数。我能在这里做什么?
可能的重复:
Java:0 <= x < n范围内的随机长数
我想在一个区间内生成一个随机的长值,但似乎 Random 类 nextLong() 不接受像 nextInt() 这样的参数。我能在这里做什么?
如果您想要基于范围的长整型值,请执行以下操作:
long LOWER_RANGE = 0; //assign lower range value
long UPPER_RANGE = 1000000; //assign upper range value
Random random = new Random();
long randomValue = LOWER_RANGE +
(long)(random.nextDouble()*(UPPER_RANGE - LOWER_RANGE));
您可以使用 nextInt 生成多头的较高和较低整数。甚至可以使用自己的 nextLong 方法扩展 Random-class(尽管对于更严肃的编程来说,组合可能是更安全的选择)。
看看 nextInt(int n) 的 Javadoc。可以使用相同的算法实现 nextLong 方法。做对可能会有点棘手。准备用笔和纸做一些数学运算。使用经过验证的库是明智的,如果你不仅仅是为了好玩而编码。