在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述java 语言实现的随机数生成算法,更多Java专业知识,广州疯狂java培训官网与你分享;
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));
}
}
疯狂Java培训专注软件开发培训,提升学员就业能力,重点提升实践动手能力。高薪从IT名企请来项目经理为学员亲自授课,对学员进行实战教学,在没有工作经验的学员,在疯狂java,通过大量全真经典企业级项目进行集中培训,学员通过数月培训都可获得1-2年的工作经验,进而在同类的求职者中脱颖而出。疯狂Java培训让你体会java编程的快乐,项目开发的兴奋,成就感,通过短短几个月的时间,让你在半年的时间内掌握8-10万的代码量,掌握Java核心技术,迅速成为技能型的现代化高端人才,迅速获得高薪就业!
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步