java随机数

简述

  在java中想得到随机数一般有三种方法:使用Random类、使用Math类的random方法、使用currentTimeMillis方法

随机数区间映射的技巧

  例如最终你想得到一个区间是 [max,min) 的随机数

  如果你现在只有[0,1)的随机数,我们设为 ran,那么目标随机数即为 ran * (max - min) + min

  如果你可以控制生成[0,n)的随机数,那么只需令 n = (max - min + 1),目标随机数即为 ran + min

  如果你得到的是一个纯随机的随机数,那么目标随机数为 ran % ( max - min ) + min 

Random类

构造方法

  Random() 创建一个新的随机数生成器

  Random(long seed) 使用指定的种子

得到随机数

  nextBoolean() 返回随机的boolean值随机数

  nextDouble() 返回在0.0和1.0之间均匀分布的double值随机数

  nextInt(int n):返回在0和1之间均匀分布的int值随机数

  nextGaussian() 返回呈高斯(“正态”)分布的double值,其平均值是0.0标准差是1.0

Math类

  Math.random() 方法返回 [0,1) 之间的浮点数,然后我们进行运算就可以得到任意区间的随机数

currentTimeMillis

  System.currentTimeMillis() 方法返回从1970年1月1日0时0分0秒(这与UNIX系统有关)到现在的一个long型的毫秒数,取模之后即可得到所需范围内的随机数

 

posted @ 2022-01-16 13:55  艾尔夏尔-Layton  阅读(837)  评论(0编辑  收藏  举报