java随机数生成0和1的简单介绍
本篇文章给大家谈谈java随机数生成0和1,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、用JAVA产生[0,1]均匀分布的随机数 要算法
- 2、java生成随机数0或1,只能是0,1二者其一,最好可以使1或0出现的概率符合高斯分布(正态分布)
- 3、用JAVA 产生一个0到1的随机数
- 4、java如何产生1-10随机数
- 5、java生成随机数0或1,只能是0,1二者其一,怎么实现呢
用JAVA产生[0,1]均匀分布的随机数 要算法
double rand(double []r)
{
double base,u,p,v,temp1,temp2,temp3;
base=256.0;
u=17.0;
v=139.0;
temp1=u*(r[0])+v; //就算总数
temp2=(int)(temp1/base);//计算商
temp3=temp1-temp2*base;//余数
r[0]=temp3;//更新随机种子,为下一次使用
p=r[0]/base;//产生随机数
return p;
}
其中base为基数,一般去2的整数倍,常数,u、v可以随意取。数组r[]为只能去一个值的数组。如:double[]r={5.0}.
java生成随机数0或1,只能是0,1二者其一,最好可以使1或0出现的概率符合高斯分布(正态分布)
Java内置了高斯正态随机数
Random.nextGaussian()获得均值为0,标准差为1的正态分布。
Random r=new Random();
for(int i=0;i20;i++)
System.out.println(r.nextGaussian());
=======
-0.13281412372658716
-0.01315269766483013
-0.056744105795208055
-1.0402491360478257
-0.5311391585982737
-0.3630802799191039
-0.9866340328819281
-0.8579720715397737
-0.9265915705393113
-0.21839994469893823
0.3671093015925613
-0.6560992663799461
-1.2695699508671745
0.046509998380311696
0.1952527864179513
0.9997730342084369
如果求阀值0.7,
Random r=new Random();
int c0=0,c1=0;
for(int i=0;i10000;i++){
byte n=(byte) (r.nextInt(10)=7?1:0); //获得一个0或1
if(n==0)c0++; else c1++;
}
System.out.println("zero:"+(c0/10000.0)+" one:"+(c1/10000.0));
=========
打印概率
zero:0.7068 one:0.2932
用JAVA 产生一个0到1的随机数
在java.lang.Math中有个Math.random()方法,它可以产生0-1之间(包括0但不包括1)的任意小数,所以用System.out.println(Math.Random());即可!要产生0或1的整数只需System.out.println((int)(Math.Random()+1));
java如何产生1-10随机数
java代码方法一如下:
int random=(int)(Math.random()*10+1)
java代码方法二如下:
package bdqn_Empy;
import java.util.Random;
public class Text {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int a=0;
Random b=new Random();
a=b.nextInt(101);
System.out.println(a);
}
}
扩展资料:
可以先通过 random方法生成一个随机数,然后将结果乘以10。此时产生的随机数字即为大于等于0小于10的数字。
然后再利用nt方法进行转换它会去掉小数掉后面的数字即只获取整数部分,不是四舍五入)。最后即可获取一个0到9的整数型随机数字。其实现方法很简单,就是对原有的 grandom方法按照如下的格式进行变型:(int( Math. Random0*10)即可。
其实我们还可以对这个方法进行扩展,让其产生任意范围内的随机数。至需要将这个10换成n即可,如改为( int(Math. Random0n)。此时应用程序就会产生一个大于等于0小与n之间的随机数。
如将n设置为5,那么其就会产生一个0到5之间的整数型的随机数。如果将这个写成一个带参数的方法,那么只要用户输入需要生成随机数的最大值,就可以让这个方法来生成制定范围的随机数。
java生成随机数0或1,只能是0,1二者其一,怎么实现呢
int rd=Math.Random()0.5?1:0;
这样0和1出现的几率分别为百分之五十。
其实只要知道Math.Random()产生的数据为[0,1),那么想怎么处理都可以的,哈哈
java随机数生成0和1的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、java随机数生成0和1的信息别忘了在本站进行查找喔。