Java不大于特定值

时间:2014-11-14 18:42:17

标签: java range modulus

我只是有一个简单的问题。在Java中,我们知道(y%x)的余数不能大于x本身。因此,我们可以假设将所有数字设置为小于x的某个值,比如100.然而,与此相反的是什么呢?如果我们想将所有数字设置为高于某个值(例如20),以获得范围[20,100],该怎么办?

我想我们可以从两侧减去20得到范围[0,80],然后取模数80,然后再加20。

我是否相信这一点?

感谢。

2 个答案:

答案 0 :(得分:0)

余数如何能超过除数?换句话说,你的分工并不完整。

如果您想要20-80岁,您可以轻松完成

int i = 20 + randomInteger % 80;

这将在20 -100的范围内。

答案 1 :(得分:0)

Random类包括nextInt(int),其中(根据Javadoc)返回0(包括)和指定值(不包括)之间的伪随机,均匀分布的int值,从这个随机数生成器的序列中得出。所以,0-80是

Random rand = new Random();
int v = rand.nextInt(81);

如果你想要它在ragne 20-100那将是

int v = rand.nextInt(81) + 20;