问题是:种子是10L,生成并打印0(包括)和200(不包括)之间的7个伪随机整数值。
我试过的代码:
public static int randomGenerator() {
Random generator = new Random(10L);
return generator.nextInt(200 - 0) + 0;
}
System.out.println(randomGenerator());
答案 0 :(得分:2)
要生成7个数字,您必须在不创建新nextInt
实例的情况下调用Random
方法7次。要在一次执行"中返回所有7个值",您需要返回一个数组或List
。
我还建议为您的方法提供一些参数,以便它不与这些规格相关联。
public static int[] getRandomInts(long seed, int amount, int min, int max) {
Random rand = new Random(seed);
int[] nums = new int[amount];
for (int i = 0; i < amount; i++) {
nums[i] = rand.nextInt(max - min) + min;
}
return nums;
}
在Java 8中,Random
类具有返回ints
的替代IntStream
方法:
public static int[] getRandomInts(long seed, int amount, int min, int max) {
return new Random(seed).ints(amount, min, max).toArray();
}
然后在你的调用范围内迭代数字以打印它们。