当前位置: 首页 > ds >正文

java中random的用法详解

java中存在两个随机函数,它们分别来自java.long.Math.random()和 java.util.Random();其中前者的适用范围比较小,完全可以被后者取代。

一、java.lang.Math.random()方法的用法

①、方法类型:

public static double random();

此方法是一个无参,double类型返回值的公开静态方法。

返回一个大于0的double类型数据,该值大于等于0.0且小于1.0,返回的是一个伪随机选择数,在该范围内(几乎)均匀分布。

例如:

public class TestRandom{public static void main(String[] args){int sum=0;while(true){float a=(float)Math.random();System.out.println(a);sum++;if(sum==10)break;}}
}

二、 java.util.Random类用法

①、该类的构造方法:

Random():构造一个无参的随机数生成器。使用系统时间的毫秒作为默认种子。

Random(long seed):使用 long数据类型的种子构造一个随机数生成器。

②方法摘要:

boolean nextBoolean():返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 boolean值。

double nextDouble():返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.01.0 之间均匀分布的 double 值。

float nextFloat():返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.01.0 之间均匀分布的 float 值。

int nextInt():返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值.

int nextInt(int n):返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值n(不包括)之间均匀分布的 int 值。

long nextLong():返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 long 值。

void setSeed(long seed):使用单个 long 种子设置此随机数生成器的种子。

注意:如果用相同的种子创建两个 Random 实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。

例如:

public class TestRandom{public static void main(String[] args){int sum=0;		java.util.Random random=new java.util.Random();for(int i=0;i<10;i++){int a=random.nextInt(10);System.out.print(a+"  ");}System.out.println("");for(int i=0;i<10;i++){int a=random.nextInt();System.out.println(a);}System.out.println("");for(int i=0;i<10;i++){double a=random.nextDouble();System.out.println(a);}System.out.println("");for(int i=0;i<10;i++){boolean a=random.nextBoolean();System.out.println(a);}System.out.println("");}
}

结果为:

http://www.xdnf.cn/news/11716.html

相关文章:

  • 论如何本地搭建个人hMailServer邮件服务远程发送邮件无需域名公网服务器?
  • VS2010 上手案例---hello word
  • 用HTML+CSS做一个漂亮简单大学生校园班级网页
  • 软件工程第十六章 软件项目管理
  • 电信宽带华为HG8245光纤猫开路由、WIFI的破解办法
  • 做自媒体,怎么做赚钱?这3点很关键
  • K8S集群安装
  • 【客户管理】WPS多维表格实现轻型CRM系统解决方案
  • bt5 破解wifi密码
  • 升级每天正常更新欢迎_手机经常提示系统更新,这类手机最好不升级,网友:咋不早说?...
  • 永久免费的内网端口映射工具推荐【无公网IP】
  • 总结调用Flash的几种方法
  • 一个“精神病”人的世界观——我看完了,然后陷入深深的不安中(1)
  • DevCloud入门到精通之平台简介
  • 程序员必备的 58 个网站,赶快收藏
  • “n词酷”输入法模式分析及展望
  • 企业即时通讯系统十大排名
  • IFD-x 微型红外成像仪(模块)的温度测量和成像精度
  • “燕云十六将”之Lorna(14)
  • web前端之CSS
  • 122个常见问题收集整理(FLASH初学者参见)
  • Android(安卓)全套开发资料视频+源码
  • 美式地道口语
  • 彻底解决快播不可点播方法
  • CuteFtp通用注册码
  • 火山引擎工具技术分享:用 AI 完成数据挖掘,零门槛完成 SQL 撰写
  • 500 G JAVA视频网盘分享(JEECG开源社区)
  • RFID开发利器 proxmark3
  • NISP一级练习题1-10
  • php批量修改怎么实现,PinPHP购物分享系统2.2后台批量采集修改实现方法