Random产生随机数模拟投掷硬币
2018-03-28 10:55
246 查看
上概率论那会,“猪”老师曾在课上这么表示过:你透支一枚硬币,投掷的次数越多,正面反面各自出现的概率越接近二分之一。当时呢就想:真的会是这样么?
可我也不像贝叶斯这样的人啊!不喜欢钻研这些问题呢!今天想到可以用Random()来模拟这个实验啊!总的来说就是产生01两个随机数并统计他们出现的次数
没啥特别的思路,就直接贴代码了!package cn.edu.nuist.march;
import java.util.*;
public class Coin {
public static void main(String[] args){
System.out.print("(j正j反,1正0反)您想投掷硬币的次数为:");
int a,count = 0; //count作为统计正面出现的次数
Scanner r = new Scanner(System.in);
a = r.nextInt(); //a表示从键盘输入要投掷的次数
for(int i = 0;i < a;i++)
{
int n = new Random().nextInt(2)+1; //随机产生1,2这两个数
// System.out.print(n-1); //此处将n-1便可产生0,1两个数。
if(n == 1) //我有一个小伙伴曾告诉我,男人
count++; //就像一枚硬币,前面是个1,后面是朵“0”。
} //(有奖问答,女人像啥呢?)
System.out.println();
System.out.println("投掷" + a + "次共有" + count + "次是正面,"+(a-count)+"次是反面");
//这个不用解释了吧!
}
}
咱们来看看试验结果:总次数 正面朝上 反面朝上 10 3 7 50 19 30 100 53 47。。。。。。
10000 4999 5001100000 50078 49922你们看,是不是我老师说得那个理!!!(哈哈哈哈,这些数据就是我瞎编的,不信你看第二行数据,一群小笨蛋)开玩笑,开玩笑!
关于Random().nextLine(2)+1,Random().nextLine(n),产生0-(n-1)之间的随机数,所以当n为1时,产生的是0-1之间的随机数。。。。。。所以我想要的是你们能自己将代码敲一遍,自己亲自动手试一下。哈哈哈哈
可我也不像贝叶斯这样的人啊!不喜欢钻研这些问题呢!今天想到可以用Random()来模拟这个实验啊!总的来说就是产生01两个随机数并统计他们出现的次数
没啥特别的思路,就直接贴代码了!package cn.edu.nuist.march;
import java.util.*;
public class Coin {
public static void main(String[] args){
System.out.print("(j正j反,1正0反)您想投掷硬币的次数为:");
int a,count = 0; //count作为统计正面出现的次数
Scanner r = new Scanner(System.in);
a = r.nextInt(); //a表示从键盘输入要投掷的次数
for(int i = 0;i < a;i++)
{
int n = new Random().nextInt(2)+1; //随机产生1,2这两个数
// System.out.print(n-1); //此处将n-1便可产生0,1两个数。
if(n == 1) //我有一个小伙伴曾告诉我,男人
count++; //就像一枚硬币,前面是个1,后面是朵“0”。
} //(有奖问答,女人像啥呢?)
System.out.println();
System.out.println("投掷" + a + "次共有" + count + "次是正面,"+(a-count)+"次是反面");
//这个不用解释了吧!
}
}
咱们来看看试验结果:总次数 正面朝上 反面朝上 10 3 7 50 19 30 100 53 47。。。。。。
10000 4999 5001100000 50078 49922你们看,是不是我老师说得那个理!!!(哈哈哈哈,这些数据就是我瞎编的,不信你看第二行数据,一群小笨蛋)开玩笑,开玩笑!
关于Random().nextLine(2)+1,Random().nextLine(n),产生0-(n-1)之间的随机数,所以当n为1时,产生的是0-1之间的随机数。。。。。。所以我想要的是你们能自己将代码敲一遍,自己亲自动手试一下。哈哈哈哈
相关文章推荐
- ORACLE 如何产生一个随机数:DBMS_RANDOM
- Random产生随机数,不传入种子和传入种子的区别
- NS2进阶实例 8---RandomNumber Generation(NS2中随机数产生)
- 使用ThreadLocalRandom产生并发随机数
- 【转】让random在极短时间内产生的随机数不相同
- <stdlib.h>中的随机数产生函数rand,random,srand,srandom的一些知识
- java7新特性——使用ThreadLocalRandom产生并发随机数
- Random不重复随机数的产生
- java7新特性——使用ThreadLocalRandom产生并发随机数
- 继承Random类产生任意范围内的随机数
- c++11随机数产生器default_random_engine
- c# Random太快产生的随机数会重复
- c++11随机数产生器default_random_engine
- cryptography 使用RandomNumberGenerator产生加密强随机数
- 模拟投掷硬币,出现正反面的次数(…
- 用产生随机数的方法产生两个1位整数,求其和与积!Random
- java7新特性——使用ThreadLocalRandom产生并发随机数
- .net中使用Random()产生一个随机数
- 设计程序,单击【随机数】按钮,使用Math对象的random函数产生一个0-100之间(含0-100)的随机整数,并在对话框中显示,如下图。单击【计算】按钮,计算该随机数的平方、平方根和自然对数,保留两位小数,并在对话框中显示,如下图。
- Random类产生随机数,注意是从0开始的,否则需要进行相关范围调整计算