我想生成随机整数,以便下一个生成的数字总是大于前一个。
假设我从3开始,我希望下一个总是大于3.并说我生成了5,我希望下一个大于5等等。
答案 0 :(得分:4)
这应该会得到一个始终大于之前值的数字。范围是您希望数字的前一个值的最大距离。
public getLargerRandom(int previousValue){
int range = 100; //set to whatever range you want numbers to have
return random.nextInt(range) + previousValue;
}
答案 1 :(得分:0)
int rnd = 0;
while (true) {
rnd = ThreadLocalRandom.current().nextInt(rnd +1, Integer.MAX_INT);
System.out.println("Next random: "+rnd);
}
答案 2 :(得分:0)
您可以将随机生成的数字存储为变量,然后将其用作下一代数字的最小值。
int x = 0;
x = new Random.nextInt(aNumber) + x;
答案 3 :(得分:0)
以下示例在起始值和最大值之间生成一组随机数,而不会超过所需的最大数量。
import java.util.Random;
public class RandomNumbers {
public static void main(String[] args) {
GetIncreasingInts(20, 3, 101);
}
public static void GetIncreasingInts(int numIntsToGet, int start, int max) {
if (numIntsToGet > 0 && start >= 0 && max > 0) {
Random random = new Random();
int nextStart = start;
int num = -1;
for (int index = 0; index < numIntsToGet; index++) {
if ((max - 1) <= nextStart)
break;
else {
num = nextStart + random.nextInt(max - nextStart);
nextStart = num;
System.out.println("Number: " + num);
}
}
}
}
}