java 语言实现的随机数生成算法

简介:
package MyMath;
import  java.util.Random;
//生成随机数  调用的是系统的方法
public class random {
public static void main(String args[])
{
Random random=new Random(5);
for(int i=0;i<10;i++)
{
System.out.println(random.nextInt());
}
}
}
  引用java 类库的实现方法
  下面自己写随机,,了解一下种子数,,其实对同一个种子生成的随机数是相同的,,但是种子数是不对更新的
package MyMath;
public class random1 {
public static void main(String args[])
{
double []r=new double[2];
r[0]=5.0;
for(int i=0;i<10;i++)
{
System.out.println(rand1(r));
}
}
public static double rand1(double []r)
{
double temp1,temp2,temp3,p,base;
base=256.0;
int  a=17,b=139;
temp1=r[0]*17+139;
temp2=(int)(temp1/256);
temp3=temp1-temp2*base;
r[0]=temp3;
p=temp3/256;
return p;
//基本思想 就是   递推法  r[i]=mod(a*r[i-1],base);  随机数 p=r[i/base;
//这个随机数 确实是随机的  但是缺陷就是它并不符合 正态分布  种子的选取会影响后来的分布的
}
}


 引用一些公式就实现了符合正态分布的
public class random2 {
public static void main(String args[])
{
double []r=new double[2];
r[0]=5.0;
for(int i=0;i<10;i++)
{
System.out.println(randZT(2.0,3.5,r));
}
}
//符合正态分布的随机算法
/*
*
*
*/
public static double rand1(double []r)
{
double temp1,temp2,temp3,p,base;
base=256.0;
int  a=17,b=139;
temp1=r[0]*17+139;
temp2=(int)(temp1/256);
temp3=temp1-temp2*base;
r[0]=temp3;
p=temp3/256;
return p;
//基本思想 就是   递推法  r[i]=mod(a*r[i-1],base);  随机数 p=r[i/base;
//这个随机数 确实是随机的  但是缺陷就是它并不符合 正态分布  种子的选取会影响后来的分布的
}
public static double randZT(double u,double t,double []r)
{
int i;
double total=0.0;
double result;
for(i=0;i<12;i++)
{
total+=rand1(r);
}
result=u+t*(total-6.0);
return result;
}
}

   



最新内容请见作者的GitHub页:http://qaseven.github.io/

  

目录
相关文章
|
1月前
|
存储 算法 安全
探究‘公司禁用 U 盘’背后的哈希表算法与 Java 实现
在数字化办公时代,信息安全至关重要。许多公司采取“禁用U盘”策略,利用哈希表算法高效管理外接设备的接入权限。哈希表通过哈希函数将设备标识映射到数组索引,快速判断U盘是否授权。例如,公司预先将允许的U盘标识存入哈希表,新设备接入时迅速验证,未授权则禁止传输并报警。这有效防止恶意软件和数据泄露,保障企业信息安全。 代码示例展示了如何用Java实现简单的哈希表,模拟公司U盘管控场景。哈希表不仅用于设备管理,还在文件索引、用户权限等多方面助力信息安全防线的构建,为企业数字化进程保驾护航。
|
4月前
|
存储 人工智能 算法
数据结构与算法细节篇之最短路径问题:Dijkstra和Floyd算法详细描述,java语言实现。
这篇文章详细介绍了Dijkstra和Floyd算法,这两种算法分别用于解决单源和多源最短路径问题,并且提供了Java语言的实现代码。
126 3
数据结构与算法细节篇之最短路径问题:Dijkstra和Floyd算法详细描述,java语言实现。
|
4月前
|
算法 Java 数据中心
探讨面试常见问题雪花算法、时钟回拨问题,java中优雅的实现方式
【10月更文挑战第2天】在大数据量系统中,分布式ID生成是一个关键问题。为了保证在分布式环境下生成的ID唯一、有序且高效,业界提出了多种解决方案,其中雪花算法(Snowflake Algorithm)是一种广泛应用的分布式ID生成算法。本文将详细介绍雪花算法的原理、实现及其处理时钟回拨问题的方法,并提供Java代码示例。
150 2
|
6月前
|
Java
Java系类 之 生成随机数(random()和Random类)
这篇文章介绍了Java中生成随机数的两种方法:使用`Math.random()`方法和`Random`类的实例方法,并提供了示例代码展示如何使用这些方法生成特定范围或特定条件下的随机数。
|
6月前
|
算法 Java
HanLP — HMM隐马尔可夫模型 -- 维特比(Viterbi)算法 --示例代码 - Java
HanLP — HMM隐马尔可夫模型 -- 维特比(Viterbi)算法 --示例代码 - Java
73 0
|
6月前
|
搜索推荐 算法 Java
插入排序算法(Java代码实现)
这篇文章通过Java代码示例详细解释了插入排序算法的实现过程,包括算法的基本思想、核心代码、辅助函数以及测试结果,展示了如何通过插入排序对数组进行升序排列。
|
6月前
|
搜索推荐 算法 Java
经典排序算法之-----选择排序(Java实现)
这篇文章通过Java代码示例详细解释了选择排序算法的实现过程,包括算法的基本思想、核心代码、辅助函数以及测试结果,展示了如何通过选择排序对数组进行升序排列。
经典排序算法之-----选择排序(Java实现)
|
6月前
|
搜索推荐 算法 Java
|
6月前
|
存储 算法 Java
LeetCode经典算法题:打家劫舍java详解
LeetCode经典算法题:打家劫舍java详解
92 2
|
6月前
|
人工智能 算法 Java
LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
69 1

热门文章

最新文章