编写程序,随机生成 100 个 1~3 的整数,统计 1~3 每个数出现的概率,用Java编写
时间: 2023-06-20 15:06:26 浏览: 98
可以使用Java中的Random类来随机生成1~3的整数,使用数组来统计每个数出现的次数,最后计算出每个数出现的概率。
以下是示例代码:
```
import java.util.Random;
public class Main {
public static void main(String[] args) {
int[] count = new int[4]; // 用来统计1~3每个数出现的次数,count[0]不使用
Random random = new Random();
for (int i = 0; i < 100; i++) {
int num = random.nextInt(3) + 1; // 生成1~3的随机整数
count[num]++; // 对应数出现次数加1
}
System.out.println("1出现的概率:" + (double)count[1] / 100);
System.out.println("2出现的概率:" + (double)count[2] / 100);
System.out.println("3出现的概率:" + (double)count[3] / 100);
}
}
```
输出结果类似于:
```
1出现的概率:0.33
2出现的概率:0.31
3出现的概率:0.36
```
相关问题
随机生成1000个1~10之间的整数,使用字典统计每个数的出现次数
可以使用Python中的字典来实现统计每个数的出现次数。具体方法如下:
```python
import random
# 生成1000个1~10之间的随机整数
nums = [random.randint(1, 10) for _ in range(1000)]
# 使用字典统计每个数的出现次数
count_dict = {}
for num in nums:
if num in count_dict:
count_dict[num] += 1
else:
count_dict[num] = 1
# 输出每个数的出现次数
for num, count in count_dict.items():
print("{}出现了{}次".format(num, count))
```
运行结果如下:
```
1出现了89次
2出现了97次
3出现了96次
4出现了97次
5出现了107次
6出现了91次
7出现了109次
8出现了98次
9出现了113次
10出现了103次
```
编写程序,生成包含1000个0~100的随机整数,并统计每个元素的出现次数
可以用以下代码实现:
```
import random
#生成1000个0~100的随机整数
nums = [random.randint(0, 100) for _ in range(1000)]
#统计每个元素出现的次数
counts = {num: nums.count(num) for num in set(nums)}
#输出每个元素及其出现次数
for num in sorted(counts.keys()):
print(num, ":", counts[num])
```
解释一下代码:
第一行中,`import random` 导入了 Python 标准库中的 random 模块,用于生成随机数。随后一行 `nums = [random.randint(0, 100) for _ in range(1000)]` 使用列表推导式生成1000个 0~100 的随机整数;`random.randint(0, 100)` 表示生成 0~100 范围内的整数。
第二行 `counts = {num: nums.count(num) for num in set(nums)}` 利用 set() 函数去除了列表中的重复元素,然后使用字典推导式 `{num: nums.count(num) for num in set(nums)}` 统计了每个元素出现的次数。例如,若 nums = [1,2,2,3,3,3],则 counts = {1: 1, 2: 2, 3: 3}。
最后一行通过循环输出每个元素及其出现次数,并按元素从小到大的顺序排序。注意,`for num in sorted(counts.keys())` 中的 `sorted(counts.keys())` 表达式可以保证按字典序排序,即元素从小到大的顺序。