java生成100次随机数并统计每个随机数出现的次数
时间: 2023-10-18 11:23:31 浏览: 91
下面是一个简单的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个1~6之间的随机数,统计1~6之间的每个数出现的概率;修改程序,使之生成1000个随机数并统计概率;比较不同的结果并给出结论
在Java中,我们可以使用`java.util.Random`类来生成随机数,并利用`ArrayList`存储每个数字及其出现次数,然后计算概率。以下是生成100个随机数并统计概率的基本步骤:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class RandomNumberGenerator {
public static void main(String[] args) {
int[] numbers = new int[6];
List<Integer> randomList = new ArrayList<>();
Random random = new Random();
for (int i = 0; i < 100; i++) {
int randomNumber = random.nextInt(6) + 1; // 生成1到6的整数
randomList.add(randomNumber);
numbers[randomNumber - 1]++;
}
double total = 100.0;
System.out.println("100次随机结果:");
for (int i = 0; i < 6; i++) {
double probability = (double)numbers[i] / total;
System.out.printf("%d 出现了 %d 次,概率约为 %.2f%%\n", i + 1, numbers[i], probability * 100);
}
// 如果需要统计1000个随机数,只需将循环次数改为1000即可
// 然后再按照上述方法更新列表和数组的值,并再次计算概率
}
}
```
对于1000个随机数的结果,由于样本量增大,理论上概率会更接近实际分布。如果发现概率与理论概率(比如,每个数字出现的概率均为1/6)相差不大,说明随机数生成的分布相对均匀。如果存在较大的偏差,则可能是随机性不足或者数据集较小导致的误差。
.编程生成 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。这符合大数定律。因此,我们可以得出结论:随着样本数量的增加,样本统计结果越接近真实的概率值。
阅读全文