在java中生成短随机数?
我想生成一个随机数的短类型,就像有一个名为Random.nextInt(134116)的整数类型函数一样。我怎样才能实现它?
我想生成一个随机数的短类型,就像有一个名为Random.nextInt(134116)的整数类型函数一样。我怎样才能实现它?
没有方法,所以你可以使用Random.nextShort()
short s = (short) Random.nextInt(Short.MAX_VALUE + 1);
+1 是因为该方法返回一个数字,该数字最多为指定的数字(独占)。请参阅此处
这将生成从 0 到 Short.MAX_VALUE(OP 未请求负数)的数字
可以产生所有可能的短值的最有效解决方案是做任何一个。
short s = (short) random.nextInt(1 << 16); // any short
short s = (short) random.nextInt(1 << 15); // any non-negative short
甚至更快
class MyRandom extends Random {
public short nextShort() {
return (short) next(16); // give me just 16 bits.
}
public short nextNonNegativeShort() {
return (short) next(15); // give me just 15 bits.
}
}
short s = myRandom.nextShort();