java几率的代码,java概率算法

java程序中概率问题

用概率模型,先随机一次看取用哪个概率,随后再随机一次。代码示例如下: import java.util.Random;public class HelloWorld { public static void main(String[] args) { Random random = new Random(); double p1=0.7; //1~4的概率 double p=(...

成都创新互联公司-专业网站定制、快速模板网站建设、高性价比太湖网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式太湖网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖太湖地区。费用合理售后完善,10多年实体公司更值得信赖。

Java编程生成100个1~6之间的随机数,统计1~6每个数出现的概率;

首先:关于随机数的生成方法

java里生成随机数主要有2个方法比较常用.

1.Random类. 在 java.util.包里, 有多种方法可以随机产生int, long, double,boolean等类型

2.Math 类,在java.lang.包里, 可以生成一个[0~1)之间的随机浮点数

*备注* :a. )使用Random需要导包,但是使用Math无需导包. 

b.  )Math底层还是调用了Random类的nextDouble()方法

其次:关于随机数的代码

例如生成[1,6]之间的随机数

1 .Random的方法,生成的随机数

Random r= new Random();

int num1 = r.nextInt(6)+1;//r.next(6)生成的是0~5之间的数字,需要+1,才是[1~6]之间的数字

2. Math的方法,进行随机数的生成

int num = (int) (Math.random() * 6) + 1;

//(int) (Math.random() * 6) 生成的是0~5之间的整数

//需要+1 才是[1~6]的数字

关于次数统计的方案

1, 可以使用HashMapK,V的方法进行存储统计. 因为key不重复,所以key可以来存数字1~6, 而对应的V就可以用来存储出现的次数

2. 可以使用数组的方法来存出现的次数. 数字1~6 是连续的, 数组下标也是连续的.我们可以用下标[0~5] 来代表数字[1~6], 数组的每个格子用来存数字数字出现的次数

完整的代码

//本题使用数组来写代码比较方便,简洁.

import java.util.Random;

public class RandomDemo {

public static void main(String[] args) {

int[] times = new int[6];//6个格子的数组,存储出现的次数

int n = 100;//循环的次数

Random r= new Random();

for (int i = 0; i  n; i++) {

int num = r.nextInt(6)+1;//方法1 随机产生1~6的数字

//int num = (int) (Math.random() * 6) + 1;//方法2 随机产生1~6的数字

times[num - 1] = times[num - 1] + 1;//次数增加1

}

for (int i = 0; i  times.length; i++) {

System.out.println((i + 1) + "出现的次数" + times[i]);

}

}

}

输出:  当n=100时

1出现的次数13

2出现的次数16

3出现的次数17

4出现的次数23

5出现的次数21

6出现的次数10

输出: 当n=1000时

1出现的次数160

2出现的次数177

3出现的次数161

4出现的次数169

5出现的次数175

6出现的次数158

结论:

n=100时, 6是次数是10,  4次数是23,  两者的次数相差2倍多

n=1000时, 6次数是158, 2次数是177, 两者比较接近

说明:  当随机的次数越多. 那么随机数的概率也越来越接近~

java程序:编写生成100个1-6之间的随机数,统计1—6每个出现的概率,菜鸟看不懂程序

1.用内置方法Math.random()产生一个随机数介于0~1。

2.强制转化为int类型,根据int类型的特点,这个数是0~5之间的整数。

3.得到的数加1,这样这个数就是介于1~6的整数,并且是随机的。

4.将介于1~6之间的这个整数赋值给randomNum

5.(重点)probability是个数组,这个程序的算法就是:利用probability这个数组记录随机数出现的次数,probability[0]记录随机数1出现的次数,就是当出现的随机数为1时,数组的probability[randomNum-1]项加1(randomNum-1是为了表现算法,实际的程序中是不需要先加1再减1的)。同理:其它的随意数也做这样的处理。这样,probability这个数组中[0]项保存的是1的出现次数,[1]项保存的是2出现的次数…………

6.输出随机数的值(后面加个空格“\t”)

7.循环到步骤第1.个步骤.

JAVA三分之一概率怎么写?

这个很简单啊。用(int) (Math.random() * 30);,然后求这个随机数除以3的余数就好了。分为0,1,2,三种情况。是完美的三分之一。


分享文章:java几率的代码,java概率算法
网页链接:http://scyanting.com/article/hchdpe.html