遇到问题的数学部分的麻烦。
该类应该将值设置为两个其他数字(包括)之间的随机数。
离。如果传入20,平均值为70,则会生成60到80之间的随机数,然后将其存储为值。
我知道公式的一部分是:(平均值 - 范围/ 2)和(平均值+范围/ 2)。
范围=传入的数字。
平均=原始数字。
答案 0 :(得分:0)
剩下要做的就是使用Random
对象来获取您范围内的随机数。这是在循环中获取其中十个的代码。
import java.util.Random;
public class RandomNumber
{
public static void main(String[] args) {
int range = 20;
int average = 70;
int base = average - range/2;
Random rand = new Random();
for (int i = 0; i < 10; i++) {
int num = rand.nextInt(range + 1) + base;
System.out.println(num);
}
}
}
由于调用nextInt(int n)
方法会返回从0(包括)到n(不包括)的随机数,因此您必须将其传递给range + 1
,因为您希望包含范围的两端,而不是只是低端。使用上面使用的值,对rand.nextInt(range + 1)
的调用将返回0到20之间的值。当添加base
值60时,这些值将转换为60 - 80。