我已经高低搜索到了这个问题的答案,并且无法看到我做错了什么,我已经尝试了几种不同的编码方式,但它总是如此超出我想要的范围。 (包括90 - 180)。
任何人都可以对下面的代码有所了解吗?
Random rnd = new Random();
int time = rnd.nextInt(91) + 90;
感谢您提供的任何支持......
/**
* Randomly generates a number between 90-180 inclusive and sets the random number as an argument to a message-send for each of the
* Runner objects in runnersList.
*/
public void runMarathon()
{
for (Runner r : runnersList)
{
Random rnd = new Random();
int time = rnd.nextInt(91) + 90;
r.setTime(time);
}
}
答案 0 :(得分:1)
此功能将帮助您完成所需的操作
private int randInt(int min, int max) {
return new Random().nextInt((max - min) + 1) + min;
}
只需将最小值和最大值作为参数给予函数,您将获得指定范围之间的随机值;)
答案 1 :(得分:-3)
软件开发的一个关键原则是重用。所以要做到这一点,你可以使用 " http://commons.apache.org/proper/commons-lang/javadocs/api-3.3/org/apache/commons/lang3/RandomUtils.html#nextInt(int,int)"而不是重新发明轮子。