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

java随机数_Java随机数Random()

关于random说明:

random模块

提供了一个通过一些算法提供了一个快速的伪随机数生成器,

可制定一个随机数的范围,然后产生此范围中的数字,

随机算法的起源数字为种子数(seed)。

注:种子数与生成的随机数字区间无关。

random对象生成( java.util.Random  /  java.lang.Math.Random;):

1.调用构造方法:

Random random=new Random();

2.调用构造方法,并通过一个种子数创建:

Random random=new Random(10);

8b22ab26ef493287a87a82da4f4b89c6.png

常用方法:

public boolean nextBoolan();   //产生随机布尔值,概率是50%

public double nextDouble();  //随机生成double值,范围 [0,1.0)

public float nextFloat();  //随机生成float的值

public int  nextInt();  //随机生成int值

public int  nextInt(n);  //随机生成小于n的值

8b22ab26ef493287a87a82da4f4b89c6.png

指定区间值随机:

法1

(数据类型)(最小值+Math.random()*(最大值-最小值+1);

(int)(1+Math.random()*(10-1+1);  //产生 [1-10]的int

法2

调用构造方法:Random random=new Random();

接受区间值: (数据类型)  变量名=随机数名称.方法(个数)+区间最小值;

int        r=random.nextInt(80-67+1)+67;  //产生 [67,80]区间的数

产生一个随机负数的方法:

法1  Math类的 negateExact();

Math.negateExact(new Random().nextInt(100));

法2  随机数加入负号

int num=-(new Random().nextInt());

法3  生成随机数乘以-1

int num=(new Random().nextInt())*(-1);

a739ef1ba60c42f0cacc586144e75f71.png

例题:

//1.从键盘上输入3个数,第一个代表要生成的随机数的个数,

//第2个数是随机数区间的最小值,第3个数是随机数区间的最大值.

//根据输入的数据,打印出对应的随机数.

Scanner scanner=new Scanner(System.in);    //生成Scanner对象

System.out.println("请输入随机数的个数:");

int number=scanner.nextInt();                            //接收

System.out.println("请输入随机数区间的的两个值");

int num1=scanner.nextInt();

int num2=scanner.nextInt();

int max=num1>num2?num1:num2;     //计算最大值和最小值

int min=num1

Random random=new Random();     //Random对象

for (int i = 0 ; i < number; i++) {

int randomNumber=random.nextInt(max-min+1)+min;    //生成基于最大值,最小值区间的值

System.out.print(randomNumber+"\t");

}

System.out.println();

//2.从键盘上输入一个整数.再生成10个[10,80]之间的随机数,如果

//随机数中刚好有数字和你输入的数字相同,打印 恭喜你,中奖了.

//如果10个随机数都不与输入的数字相同, 打印,很遗憾,没有中奖.

System.out.println("请输入一个10到80的数:");

int number2 = scanner.nextInt();

Random random2 = new Random();

boolean liky=false;

for (int i = 0; i < 10; i++) {

int r=random2.nextInt(80-10+1)+10;

System.out.print(r+"\t");

if (number2==r) {

liky=true;

}

}

if (liky) {

System.out.println("\n 恭喜你中奖了");

}else {

System.out.println("\n 很遗憾,你没有中奖");

}

scanner.close();

相关文章:

  • Delphi调用WMI读取USB设备的PID和VID
  • java 计算器程序_java计算器程序
  • Log4j被OSGI撞了一下腰
  • 比较分析Vector、ArrayList和hashtable hashmap数据结构
  • java二进制类型_Java数据类型 - 原始和二进制文字
  • hibernate的Criteria的一个bug
  • toad导出mysql数据库_将toad里的数据库结构导出到pdm
  • 炒股精髓:多位高手多年心血结晶
  • 好神奇哟
  • java linux 压缩文件夹_Linux下压缩某个文件夹(文件夹打包)
  • java中mapper层作用_Java的MyBatis框架中Mapper映射配置的使用及原理解析
  • java空接口_java中RandomAccess接口明明是个空接口,有什么用呢?
  • java pdf base64_Javaweb中利用pdf.js显示oracle数据库中Base64编码转为的PDF
  • SQL Server 2005豪华盛宴
  • java班级管理系统代码_基于jsp的班级管理系统-JavaEE实现班级管理系统 - java项目源码...
  • @jsonView过滤属性
  • 11111111
  • HTTP那些事
  • jquery cookie
  • laravel5.5 视图共享数据
  • Less 日常用法
  • node.js
  • Python实现BT种子转化为磁力链接【实战】
  • Solarized Scheme
  • Spring框架之我见(三)——IOC、AOP
  • supervisor 永不挂掉的进程 安装以及使用
  • webpack4 一点通
  • 搭建gitbook 和 访问权限认证
  • 分享一份非常强势的Android面试题
  • 给初学者:JavaScript 中数组操作注意点
  • 机器学习 vs. 深度学习
  • 基于HAProxy的高性能缓存服务器nuster
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 什么是Javascript函数节流?
  • 使用parted解决大于2T的磁盘分区
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 我是如何设计 Upload 上传组件的
  • Android开发者必备:推荐一款助力开发的开源APP
  • python最赚钱的4个方向,你最心动的是哪个?
  • 湖北分布式智能数据采集方法有哪些?
  • 数据可视化之下发图实践
  • ​比特币大跌的 2 个原因
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • ​批处理文件中的errorlevel用法
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • (C++17) optional的使用
  • (二)Linux——Linux常用指令
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转)shell中括号的特殊用法 linux if多条件判断
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .NET Micro Framework初体验(二)