0

在问题的数学部分遇到问题。

该类应该将值设置为其他两个数字(包括)之间的随机数。

前任。如果传入一个 20,平均值是 70,那么它会生成一个 60 到 80 之间的随机数,然后将其存储为值。

我知道公式的一部分是:(平均 - 范围/2)和(平均+范围/2)。

范围 = 传入的数字。
平均值 = 原始数字。

4

1 回答 1

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 的值(包括 0 到 20)。当base添加 60 的值时,这些值将转换为 60 - 80。

于 2013-05-22T23:18:18.110 回答