生成十个数,使其平均数在30到50之间,且这十个数在25到70之间,保留一位小数,写出这样的java程序
时间: 2024-04-30 19:24:13 浏览: 79
以下是一个可能的 Java 程序,可以生成符合要求的十个数:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
double sum = 0;
List<Double> nums = new ArrayList<>();
Random rand = new Random();
while (nums.size() < 10) {
double num = rand.nextDouble() * 45 + 25;
nums.add(num);
sum += num;
}
double avg = sum / 10;
while (avg < 30 || avg > 50) {
int index = rand.nextInt(nums.size());
sum -= nums.get(index);
double num = rand.nextDouble() * 45 + 25;
nums.set(index, num);
sum += num;
avg = sum / 10;
}
for (double num : nums) {
System.out.printf("%.1f ", num);
}
}
}
```
这个程序使用了一个 `List<Double>` 来存储生成的十个数,使用了 `Random` 类来生成随机数。首先生成十个在 25 到 70 之间的数,并记录它们的和以计算平均数。如果平均数不在 30 到 50 之间,则随机选择一个数并用一个新的随机数替换它,再重新计算平均数,直到符合要求为止。最后输出生成的十个数,保留一位小数。
阅读全文