java生成100次随机数并统计每个随机数出现的次数
时间: 2023-10-18 11:23:31 浏览: 88
下面是一个简单的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。最后输出每个随机数出现的次数。
相关问题
.编程生成 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。这符合大数定律。因此,我们可以得出结论:随着样本数量的增加,样本统计结果越接近真实的概率值。
编程生成1000个1-6的随机数,统计每个数出现的概率
要编写一个程序来生成1000个1到6之间的随机数,并统计每个数字出现的概率,你可以使用Java中的`java.util.Random`类。以下是一个简单的示例:
```java
import java.util.*;
public class RandomNumberProbability {
public static void main(String[] args) {
int totalTrials = 1000;
int[] numbers = new int[7]; // 创建一个长度为7(包括1-6)的数组来存储每个数字的计数
// 初始化计数器为0
Arrays.fill(numbers, 0);
// 使用Random类生成随机数并更新计数
Random random = new Random();
for (int i = 0; i < totalTrials; i++) {
int randomNum = random.nextInt(6) + 1; // 生成1到6的随机数
numbers[randomNum]++;
}
// 计算概率并将结果打印出来
double probabilitySum = 0.0;
for (int count : numbers) {
if (count != 0) {
double probability = (double) count / totalTrials;
System.out.printf("Number %d appears %d times, with a probability of %.2f%%\n",
randomNum, count, probability * 100);
probabilitySum += probability;
}
}
// 检查概率之和是否接近1,确保没有计算错误
System.out.println("Total probability sum is %.2f%%, which should be close to 100%%.\n", probabilitySum * 100);
}
}
```
这个程序首先创建了一个大小为7的数组,然后在循环中生成随机数并增加相应位置的计数。之后,它计算每个数字出现的概率,并输出这些信息。最后,检查所有数字的概率之和是否接近100%,以验证计算是否正确。
运行这段代码后,你会看到每个数字及其对应的出现次数和概率。
阅读全文