编程生成100个1~6之间的随机数,统计1~6之间的每个数出现的概率;修改程序,使之生成1000个随机数并统计概率;比较不同的结果并给出结论。java
时间: 2024-11-21 22:38:58 浏览: 27
在Java中,你可以使用`Random`类生成随机数,并配合数组或HashMap来统计每个数字出现的频率。以下是简单的步骤:
```java
import java.util.Random;
import java.util.HashMap;
public class RandomNumberProbability {
public static void main(String[] args) {
int[] numbers = new int[6];
Random rand = new Random();
// 生成100个随机数并统计
for (int i = 0; i < 100; i++) {
numbers[rand.nextInt(6)]++;
}
// 计算概率并打印
double total = 100.0; // 总次数
System.out.println("原始数据统计结果:");
for (int i = 0; i < numbers.length; i++) {
double probability = (double) numbers[i] / total;
System.out.printf("数字%d出现的概率: %.2f%%\n", i + 1, probability * 100);
}
// 生成1000个随机数并统计
resetNumbers(numbers); // 清空数组再统计
for (int i = 0; i < 1000; i++) {
numbers[rand.nextInt(6)]++;
}
// 再次计算概率并打印
System.out.println("\n1000个随机数统计结果:");
for (int i = 0; i < numbers.length; i++) {
double probability = (double) numbers[i] / total;
System.out.printf("数字%d出现的概率: %.2f%%\n", i + 1, probability * 100);
}
}
private static void resetNumbers(int[] numbers) {
Arrays.fill(numbers, 0);
}
}
```
在这个示例中,我们首先生成100个随机数并计算概率,然后清空数组再生成1000个随机数。你会发现随着样本量增加,每个数字出现的概率会更接近理论值(即每个数字出现的概率为1/6),这是因为更多的随机试验可以减少偶然性的影响。
阅读全文