导航:首页 > 编程语言 > java随机数概率

java随机数概率

发布时间:2022-07-31 22:09:43

java:怎样产生1~6的随机数,并使1~4产生的概率大一些呢

用概率模型,先随机一次看取用哪个概率,随后再随机一次。代码示例如下:

importjava.util.Random;
publicclassHelloWorld{
publicstaticvoidmain(String[]args)
{
Randomrandom=newRandom();
doublep1=0.7;//1~4的概率
doublep=(((int)random.nextInt(10)%(10)+1)*1.0/10<p1)?p1:(1-p1);//实际所取概率
intmax=(p==p1)?4:6;
intnum=(int)random.nextInt(max)%(max)+1;
System.out.print(num);
}
}

㈡ java中概率的问题

你的问题描述不清。
如果是别的数字是均等的,那把一个单独处理,别的数字分享17/20的概率。实际上是一个映射的问题。具体实现就是拿20个数字做random,然后取整,比如1->1,2、3->2,若是其它,则重新获取一个3的random,当然要把1和2给去掉

——————————————
那不就更容易了,剩下的不需要重新获取random了,直接就是3
————————————————————————

public static void main(String arg[]) {
System.out.println(getInt());
}
private static long getInt() {
long a = Math.round(Math.random() * 20);
if (a == 0 || a == 1) {
return 1;
} else if (a == 2) {
return 2;
} else {
return 3;
}
}

㈢ 关于Java里产生1-6随机数的方法

我认为2种方法产生的1~6的几率是相等的,都为1/6.

第一种(int)(Math.random()*10)%6得到0~6的随机数,每个数的产生的概率为1/7,再加上1,得到1~6的随机数,0不再出现,每个数产生的几率1/6.

另一种(int)(Math.random()*6)产生0~5,每个数产生的概率为1/6,再加上1,得到1~6的随机数,每个数产生的几率仍为1/6.

㈣ 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设置1到100之内的随机数 要求80出现的概率在80% 求解答

在100之内,随便取2个数(如:20,1),然后组成一个数组如下[20,1,8,8,8,8,8,8,8,8],随即就ok了,绝对80%。
不过这种题目太无耻了,典型的抽奖作弊。

㈥ 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的方法,生成的随机数

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

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

intnum=(int)(Math.random()*6)+1;
//(int)(Math.random()*6)生成的是0~5之间的整数
//需要+1才是[1~6]的数字

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

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

publicclassRandomDemo{
publicstaticvoidmain(String[]args){
int[]times=newint[6];//6个格子的数组,存储出现的次数
intn=100;//循环的次数
Randomr=newRandom();
for(inti=0;i<n;i++){
intnum=r.nextInt(6)+1;//方法1随机产生1~6的数字
//intnum=(int)(Math.random()*6)+1;//方法2随机产生1~6的数字
times[num-1]=times[num-1]+1;//次数增加1
}

for(inti=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

㈦ 编写JAVA程序,生成100个1到6之间的随机数,统计1到6每个数出现的概率

package 测试包;

public class 随机数16 {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int aa[]=new int[100];
int bb[]=new int[6];

for(int i=0;i<100;i++){
aa[i]=(int)(Math.random()*6+1);

if(i<6){
bb[i]=0;
}//if
}

for(int j=0;j<6;j++){
for(int k=0;k<100;k++){
if (j+1==aa[k]){bb[j]=bb[j]+1;}

}//for k

}//for j

for(int L=0;L<6;L++){
System.out.println((L+1)+"出现的几率是:"+bb[L]+"%");
}
}

}

㈧ java随机数概率问题

@Test
public void outChar(){
char[] charArr={'a','b','c','d','e','f','g','h','i','j'};
Random random=new Random();
int i;
for(int j=0;j<100;j++){
i= random.nextInt(9);
System.out.println(charArr[i]);
}
}
应该可以解决吧

㈨ java中如何以不同概率产生随机数1-30

Random rm = new Random();
int i = rm.nextInt(18);
int n = 0;
if(i > 8){
n = rm.nextInt(10)+1;
}else if(i > 2&&i <= 8){
n = rm.nextInt(11) + 10;
}else if(i<=2){
n = rm.nextInt(11) + 20;
}

这样生成的整数n是 3/6的概率在1-10之间,2/6的概率是在10-20之间,1/6的概率是在20-30之间(这种都是伪随机,但尽量接近概率)
你看看这样行不行
希望对你有帮助

阅读全文

与java随机数概率相关的资料

热点内容
如何上网上设个人加密账户 浏览:38
linux打开ssh服务 浏览:74
微信位置可以加密吗 浏览:466
算法蛮力法 浏览:436
随机排练命令 浏览:147
python多进程并发 浏览:41
安卓软件安装如何躲避安全检测 浏览:647
奇幻潮翡翠台源码百度云盘 浏览:187
什么软件可以免费pdf转word 浏览:15
php正则表达式大全 浏览:394
androidntp时间 浏览:299
轮机长命令簿英文 浏览:148
oppo铃声设置被加密怎么处理 浏览:548
粤苗app图形验证码怎么填 浏览:899
管家婆架设云服务器 浏览:254
php的登录界面代码 浏览:997
php开发客户端 浏览:998
theisle测试服怎么搜服务器 浏览:447
广播PDF 浏览:218
单片机编程300例汇编百度 浏览:35