在问题的数学部分遇到问题。
该类应该将值设置为其他两个数字(包括)之间的随机数。
前任。如果传入一个 20,平均值是 70,那么它会生成一个 60 到 80 之间的随机数,然后将其存储为值。
我知道公式的一部分是:(平均 - 范围/2)和(平均+范围/2)。
范围 = 传入的数字。
平均值 = 原始数字。
在问题的数学部分遇到问题。
该类应该将值设置为其他两个数字(包括)之间的随机数。
前任。如果传入一个 20,平均值是 70,那么它会生成一个 60 到 80 之间的随机数,然后将其存储为值。
我知道公式的一部分是:(平均 - 范围/2)和(平均+范围/2)。
范围 = 传入的数字。
平均值 = 原始数字。
剩下要做的就是使用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 的值(包括 0 到 20)。当base
添加 60 的值时,这些值将转换为 60 - 80。