JAVA随机数生成 | Math.random()方法 | 随机生成int、double类型
- Mathrandom
- double随机数
- 要获取一个xy的double类型的随机数 左闭右开
- 要获取一个xy的double类型的随机数 左开右闭
- 要获取一个xy的double类型的随机数 左闭右闭
- 要获取一个xy的double类型的随机数 左开右开
- int随机数
- 要获取一个xy的int类型的随机数 左闭右开
- 要获取一个xy的int类型的随机数 左开右闭
- 要获取一个xy的int类型的随机数 左闭右闭
- 要获取一个xy的int类型的随机数 左开右开
- 注意1
- 注意2
Math.random()
a pseudorandom double greater than or equal to 0.0 and less than 1.0.
即返回一个[0,1)的double类型的随机数
以下情况 | y>x
double随机数
要获取一个[x,y)的double类型的随机数 | 左闭右开
double d = x + Math.random() * (y - x);
要获取一个(x,y]的double类型的随机数 | 左开右闭
double d = y - Math.random() * (y - x);
要获取一个[x,y]的double类型的随机数 | 左闭右闭
double d = x + Math.random() * y % (y - x + 1);
要获取一个(x,y)的double类型的随机数 | 左开右开
double d = (y - Math.random()) % y;
int随机数
要获取一个[x,y)的int类型的随机数 | 左闭右开
int d = x + (int)(Math.random() * (y - x));
要获取一个(x,y]的int类型的随机数 | 左开右闭
int d = y - (int)(Math.random() * (y - x));
要获取一个[x,y]的int类型的随机数 | 左闭右闭
int i = x + (int)(Math.random() * (y - x + 1));
要获取一个(x,y)的int类型的随机数 | 左开右开
int d = (int)((y - Math.random()) % y);
注意1
Random r = new Random();
double rs = r.nextDouble();
int in = r.nextInt(500);
提供另一种解决思路
注意2
Math
类中有一floor(double a)
方法
public static double floor(double a)
返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于某个整数。
所以对于要获取一个[x,y]的double类型的随机数 | 左闭右闭时候
可以采用以下解决思路:
Double.valueOf( x + Math.floor(random.nextDouble() * y % (y - x + 1));
JAVA随机数生成 | Math.random()方法 | 随机生成int、double类型相关推荐
- 算法 | 如何通过Math.random()方法实现X平方或更多次方的概率?
前言 本文主要介绍Java中Math.random()方法以及该方法的简单应用. 每种语言都有随机方法,在Java中的随机方法有Math.random()方法.Random类. Math.random ...
- Java黑皮书课后题第4章:4.16(随机字符)编写一个程序,使用Math.random()方法显示一个随机的大写字母
4.16(随机字符)编写一个程序,使用Math.random()方法显示一个随机的大写字母 题目 题目概述 破题 生成随机数 随机数与大写字母之间的转换:ASCII 转化为char型 代码 题目 题目 ...
- Java 基础之 Random类和Math.random()方法
Random类 import java.util.Random;public class randomTest {public static void main(String args[]){Rand ...
- java代码:双色球号随机生成(极其简洁!)
https://blog.csdn.net/qq_40677004/article/details/79699270 原 java代码:双色球号随机生成(极其简洁!) 2018年03月26日 15:5 ...
- Java中Math.ceil()方法具有什么功能呢?
转自: Java中Math.ceil()方法具有什么功能呢? 下文笔者将讲述Math.ceil()方法的功能说明,如下所示: Math.ceil()方法功能:将一个数向上舍入,返回的数大于或等于参数值 ...
- 随机加解密java_JAVA随机数生成 Math.random和java.util.Random使用简介
一.Math.random 1Math.random内部使用java.util.Random实现 2 直接调用Math.random是产生一个[0,1)之间的随机数 public static voi ...
- 用Math.random()方法生成随机数
生成的区间为[0,1); //计算随机数公式:*(最大值-最小值+1)+最小值 //求200到18之间的随机数 //double rendom=Math.random(); //System.out. ...
- java.lang.math.abs_java.lang.StrictMath.abs(int a)方法实例
全屏 java.lang.StrictMath.abs(int a)方法返回一个int值的绝对值.如果参数不是负数,则返回该参数.如果参数为负数,则返回该参数的负数(负负得为正). 声明 以下是jav ...
- java中math的方法_Java Math所有方法
首页 > 基础教程 > 常用类 > 常用 Number & Math类 Java Math所有方法 Math类包含完成基本数学函数所需的方法.这些方法分为三类:三角函数方法. ...
- java 微信抽奖_微信随机生成红包金额算法java版
最近几年玩得最疯狂的应该是发红包了,尤其是过年的时候特别受欢迎,下面写了红包的随机算法,其实挺简单的,仅是提供一种思路,希望可以给大家一些启发. public class WxAlgorithm{ / ...
最新文章
- 顺序结构,判断结构 if,switch
- lstm 文本纠错_中文文本纠错算法错别字纠正的二三事
- 设计模式(三)外观模式
- MySQL修改用户(RENAME USER)
- S7 Linux用户管理及用户信息查询命令
- 每天一道LeetCode-----找到由连续数字组成的数组中缺失的那个连续值
- c语言考试题及答案 大一,大一C语言期末考试试题
- 大连富海计算机专修学校怎么样,大连富海计算机专修学校贴吧吧规(2018年版)...
- 转译和编译_10个有趣又能编译为JavaScript的语言,你用过哪些?
- nlp 财务提取_RPA,智慧财务时代的“珍妮纺织机”来了?
- CTC 解码算法之 prefix beam search
- 进程和线程的基本概念与区别
- 显卡、GPU和CUDA的概念整理
- SQL Server 数据库之身份验证和访问控制
- 粒子群算法理解+求解01背包问题
- 从零开始学五线谱_从零开始学简谱(快速入门)
- 韩寒郭敬明开启音乐精准营销时代
- 互联网晚报 | 11月23日 星期二 | 格力电器宣布实行双休工作制;知乎月活跃用户首次突破1亿大关;微博入局英雄联盟...
- 计算机科学与技术高中选课,高中选课哪些组合最好
- 双回路隔离输出DC/DC高压电源模块
热门文章
- Hdu2558(欧拉函数)
- C++ 中的sort()排序函数用法
- Window下本地redis的安装、配置以及java版试用
- 阿里2015回顾面试招收学历(获得成功offer)
- 第一届数据库***大赛(欢迎大家共同讨论,发表自己的见解)
- Windows 7无线路由器解决
- C#3.0学习(1)---隐含类型局部变量和扩展方法
- 1.RESTful Web APIs中文版 --- 网上冲浪
- 61.Linux/Unix 系统编程手册(下) -- SOCKET: 高级主题
- 28.go fmt 与 gofmt