我只是有一个简单的问题。在Java中,我们知道(y%x)的余数不能大于x本身。因此,我们可以假设将所有数字设置为小于x的某个值,比如100.然而,与此相反的是什么呢?如果我们想将所有数字设置为高于某个值(例如20),以获得范围[20,100],该怎么办?
我想我们可以从两侧减去20得到范围[0,80],然后取模数80,然后再加20。
我是否相信这一点?
感谢。
答案 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;