有人知道如何在两个数字之间创建随机数,但它只是在一个范围内变化吗?
例如,创建10到100之间的随机数,每次更改都在[-5,+ 5]范围内。 例如:如果第一个随机数为17,则后随机数将在[12,22]范围内
谢谢!
答案 0 :(得分:1)
此算法选择范围为[0,100]的初始随机值x
。之后,每个新的随机值y
将在之前的随机值x
的5之内。
int maximum = 100;
int minimum = 0;
Random rn = new Random();
int range = maximum - minimum + 1;
int randomNum = rn.nextInt(range) + minimum;
System.out.println(randomNum);
for (int i=0; i< 100; i++) {
maximum = randomNum + 5;
minimum = randomNum - 5;
range = maximum - minimum + 1;
randomNum = rn.nextInt(range) + minimum;
System.out.println(randomNum);
}
答案 1 :(得分:0)
我想我理解你的问题,但在例子中你的序列有点混淆。这是可能的答案之一:
在java中,你可以这样生成:
Random rn = new Random();
int range = maximum - minimum + 1;
int randomNum = rn.nextInt(range) + minimum;