• 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类型相关推荐

  1. 算法 | 如何通过Math.random()方法实现X平方或更多次方的概率?

    前言 本文主要介绍Java中Math.random()方法以及该方法的简单应用. 每种语言都有随机方法,在Java中的随机方法有Math.random()方法.Random类. Math.random ...

  2. Java黑皮书课后题第4章:4.16(随机字符)编写一个程序,使用Math.random()方法显示一个随机的大写字母

    4.16(随机字符)编写一个程序,使用Math.random()方法显示一个随机的大写字母 题目 题目概述 破题 生成随机数 随机数与大写字母之间的转换:ASCII 转化为char型 代码 题目 题目 ...

  3. Java 基础之 Random类和Math.random()方法

    Random类 import java.util.Random;public class randomTest {public static void main(String args[]){Rand ...

  4. java代码:双色球号随机生成(极其简洁!)

    https://blog.csdn.net/qq_40677004/article/details/79699270 原 java代码:双色球号随机生成(极其简洁!) 2018年03月26日 15:5 ...

  5. Java中Math.ceil()方法具有什么功能呢?

    转自: Java中Math.ceil()方法具有什么功能呢? 下文笔者将讲述Math.ceil()方法的功能说明,如下所示: Math.ceil()方法功能:将一个数向上舍入,返回的数大于或等于参数值 ...

  6. 随机加解密java_JAVA随机数生成 Math.random和java.util.Random使用简介

    一.Math.random 1Math.random内部使用java.util.Random实现 2 直接调用Math.random是产生一个[0,1)之间的随机数 public static voi ...

  7. 用Math.random()方法生成随机数

    生成的区间为[0,1); //计算随机数公式:*(最大值-最小值+1)+最小值 //求200到18之间的随机数 //double rendom=Math.random(); //System.out. ...

  8. java.lang.math.abs_java.lang.StrictMath.abs(int a)方法实例

    全屏 java.lang.StrictMath.abs(int a)方法返回一个int值的绝对值.如果参数不是负数,则返回该参数.如果参数为负数,则返回该参数的负数(负负得为正). 声明 以下是jav ...

  9. java中math的方法_Java Math所有方法

    首页 > 基础教程 > 常用类 > 常用 Number & Math类 Java Math所有方法 Math类包含完成基本数学函数所需的方法.这些方法分为三类:三角函数方法. ...

  10. java 微信抽奖_微信随机生成红包金额算法java版

    最近几年玩得最疯狂的应该是发红包了,尤其是过年的时候特别受欢迎,下面写了红包的随机算法,其实挺简单的,仅是提供一种思路,希望可以给大家一些启发. public class WxAlgorithm{ / ...

最新文章

  1. 顺序结构,判断结构 if,switch
  2. lstm 文本纠错_中文文本纠错算法错别字纠正的二三事
  3. 设计模式(三)外观模式
  4. MySQL修改用户(RENAME USER)
  5. S7 Linux用户管理及用户信息查询命令
  6. 每天一道LeetCode-----找到由连续数字组成的数组中缺失的那个连续值
  7. c语言考试题及答案 大一,大一C语言期末考试试题
  8. 大连富海计算机专修学校怎么样,大连富海计算机专修学校贴吧吧规(2018年版)...
  9. 转译和编译_10个有趣又能编译为JavaScript的语言,你用过哪些?
  10. nlp 财务提取_RPA,智慧财务时代的“珍妮纺织机”来了?
  11. CTC 解码算法之 prefix beam search
  12. 进程和线程的基本概念与区别
  13. 显卡、GPU和CUDA的概念整理
  14. SQL Server 数据库之身份验证和访问控制
  15. 粒子群算法理解+求解01背包问题
  16. 从零开始学五线谱_从零开始学简谱(快速入门)
  17. 韩寒郭敬明开启音乐精准营销时代
  18. 互联网晚报 | 11月23日 星期二 | 格力电器宣布实行双休工作制;知乎月活跃用户首次突破1亿大关;微博入局英雄联盟...
  19. 计算机科学与技术高中选课,高中选课哪些组合最好
  20. 双回路隔离输出DC/DC高压电源模块

热门文章

  1. Hdu2558(欧拉函数)
  2. C++ 中的sort()排序函数用法
  3. Window下本地redis的安装、配置以及java版试用
  4. 阿里2015回顾面试招收学历(获得成功offer)
  5. 第一届数据库***大赛(欢迎大家共同讨论,发表自己的见解)
  6. Windows 7无线路由器解决
  7. C#3.0学习(1)---隐含类型局部变量和扩展方法
  8. 1.RESTful Web APIs中文版 --- 网上冲浪
  9. 61.Linux/Unix 系统编程手册(下) -- SOCKET: 高级主题
  10. 28.go fmt 与 gofmt