java生成100次随机数并统计每个随机数出现的次数
时间: 2023-10-18 10:23:31 浏览: 48
下面是一个简单的Java程序,用于生成100个随机数并统计每个随机数出现的次数:
```java
import java.util.Random;
public class RandomNumberGenerator {
public static void main(String[] args) {
int[] counts = new int[10]; // 用于记录每个随机数出现的次数
Random rand = new Random();
for (int i = 0; i < 100; i++) {
int num = rand.nextInt(10); // 生成一个0到9的随机数
counts[num]++; // 对应随机数的计数器加1
}
// 输出每个随机数出现的次数
for (int i = 0; i < 10; i++) {
System.out.println(i + "出现的次数:" + counts[i]);
}
}
}
```
程序中,首先定义了一个长度为10的整型数组counts,用于记录每个随机数出现的次数。然后使用Random类生成100个随机数,并将对应随机数的计数器加1。最后输出每个随机数出现的次数。
相关问题
Java随机生成100个数并统计每个数出现的次数
可以使用Java的Random类生成随机数,然后使用HashMap来统计每个数出现的次数。具体实现如下:
```java
import java.util.*;
public class RandomNumbers {
public static void main(String[] args) {
Random rand = new Random();
HashMap<Integer, Integer> counts = new HashMap<>();
// 生成100个随机数并统计每个数的出现次数
for (int i = 0; i < 100; i++) {
int num = rand.nextInt(10); // 生成0-9的随机数
if (counts.containsKey(num)) {
int count = counts.get(num);
counts.put(num, count + 1);
} else {
counts.put(num, 1);
}
}
// 输出每个数的出现次数
for (int num : counts.keySet()) {
System.out.println(num + "出现了" + counts.get(num) + "次");
}
}
}
```
运行结果如下:
```
0出现了11次
1出现了10次
2出现了7次
3出现了6次
4出现了14次
5出现了11次
6出现了11次
7出现了13次
8出现了6次
9出现了11次
```
.编程生成 100个1~6之间的随机数,统计1~6之间的每个数出现的概率:修改程序,使之生成 1000个随机数并统计概率;比较不同的结果并给出结论Java
以下是生成100个1~6之间的随机数并统计每个数出现的概率的Java代码:
```java
import java.util.Random;
public class Probability {
public static void main(String[] args) {
Random random = new Random();
int[] randomNumbers = new int[100];
// 生成100个1~6之间的随机数
for (int i = 0; i < 100; i++) {
randomNumbers[i] = random.nextInt(6) + 1;
}
// 统计每个数出现的次数
int[] counts = new int[6];
for (int num : randomNumbers) {
counts[num - 1]++;
}
// 计算每个数出现的概率
double[] probabilities = new double[6];
for (int i = 0; i < 6; i++) {
probabilities[i] = (double) counts[i] / 100;
}
// 输出结果
for (int i = 0; i < 6; i++) {
System.out.printf("%d出现的概率为: %.2f\n", i + 1, probabilities[i]);
}
}
}
```
运行结果可能如下:
```
1出现的概率为: 0.22
2出现的概率为: 0.17
3出现的概率为: 0.17
4出现的概率为: 0.20
5出现的概率为: 0.13
6出现的概率为: 0.11
```
以下是生成1000个1~6之间的随机数并统计每个数出现的概率的Java代码:
```java
import java.util.Random;
public class Probability {
public static void main(String[] args) {
Random random = new Random();
int[] randomNumbers = new int[1000];
// 生成1000个1~6之间的随机数
for (int i = 0; i < 1000; i++) {
randomNumbers[i] = random.nextInt(6) + 1;
}
// 统计每个数出现的次数
int[] counts = new int[6];
for (int num : randomNumbers) {
counts[num - 1]++;
}
// 计算每个数出现的概率
double[] probabilities = new double[6];
for (int i = 0; i < 6; i++) {
probabilities[i] = (double) counts[i] / 1000;
}
// 输出结果
for (int i = 0; i < 6; i++) {
System.out.printf("%d出现的概率为: %.2f\n", i + 1, probabilities[i]);
}
}
}
```
运行结果可能如下:
```
1出现的概率为: 0.17
2出现的概率为: 0.19
3出现的概率为: 0.17
4出现的概率为: 0.16
5出现的概率为: 0.16
6出现的概率为: 0.15
```
对比不同数量的随机数生成结果,可以发现,随着生成的随机数数量增多,每个数出现的概率越接近1/6。这符合大数定律。因此,我们可以得出结论:随着样本数量的增加,样本统计结果越接近真实的概率值。