Java产生随机数

简介:         今天学桶排序,因为需要随机产生[0,1)的等长小数,于是随手谷歌之,翻了些资料,与诸君共享…… 一.java.lang.Math         该类下边有random()方法,产生[0,1)的double值,注意1.0取不到;所以int p = (int)(Math.random()*10) 会产生[0,9]的整数值,没有10。

        今天学桶排序,因为需要随机产生[0,1)的等长小数,于是随手谷歌之,翻了些资料,与诸君共享……

一.java.lang.Math

        该类下边有random()方法,产生[0,1)的double值,注意1.0取不到;所以int p = (int)(Math.random()*10) 会产生[0,9]的整数值,没有10。

        补充:Math.round(11.5) = 12,Math.round(-11.5) = -11,其实round函数相当于floor(x+0.5)。ps:这是一道真实的面试题,大公司的。

       PI:Math.PI,自然对数是Math.E,还有log、log10、hypot、floor、ceil,max、min、exp。

二.若干问题

  如何让Math.random()生成的随机数包括1(不是数字包含1,而是产生1.0)?刚想到先随机Random.nextInt(2)以50%概率分别产生0和1,若是0,就选择Math.random(),否则选择1;不过这样产生1的概率就是50%了。随机选取0-9,a-z,A-Z所有字符组成的一字符数组chararray(生成的时候一个一个写太麻烦,直接nw一个String,然后toCharArray),也可以chararray[Random.nextInt(62)]如何产生的数字包含1(三位数)?先new String("012……9"),先产生两个数字直接用或者当String里的下标取值,然后把1插入就行了。

三.java.util.Random

        查看API发现有nextInt(int n),nextDouble,nextFloat等,后两者都是返回[0,1),前者返回[0,n)(像C/C++里的rand()函数,返回0到RAND_MAX)。

        则产生[0,10]可以整数可以:

Random r = new Random(); 
int p =r.nextInt(10)+1; //这个是[1,10]
//------------------
(int)(Math.random()*11)

          更一般地,产生[min,max]的整数:

int createRandom(int min, int max) {
    Random r = new Random();
    return r.nextInt(max-min+1)+ min;
}
目录
相关文章
|
4月前
|
Java
Java产生随机数
Java产生随机数
46 0
|
8月前
|
Java 数据安全/隐私保护 索引
使用Java中的随机函数生成随机数
在Java编程中,我们经常需要生成随机数来模拟各种情况或者作为密码等敏感信息的一部分。Java提供了一个内置的随机函数库,可以轻松地生成各种类型的随机数。本篇博客将介绍如何使用Java中的随机函数来生成随机数。
127 1
|
1月前
|
Java
java_键盘录入、随机数
本文介绍了Java中键盘录入和Random类的使用。键盘录入用于从用户那里获取数据,通过导入`java.util.Scanner`,创建`Scanner`对象,调用`nextInt()`或`nextDouble()`读取整数和小数,`next()`读取字符串。Random类用于生成随机整数,导入该类后创建对象,调用`nextInt(int bound)`生成[0, bound-1]范围内的随机数。在JDK17及以上版本,可以使用`nextInt(int start, int end)`生成[start, end)范围的随机数。常见应用包括猜数字游戏和随机点名。
13 0
|
2月前
|
存储 Java
35、Java 中的 Math 类、Random 随机数、UUID、格式化字符串或数字、字符串和数字的相互转换、高精度计算、BigDecimal、计算机中的浮点数都是近似值
35、Java 中的 Math 类、Random 随机数、UUID、格式化字符串或数字、字符串和数字的相互转换、高精度计算、BigDecimal、计算机中的浮点数都是近似值
49 0
|
5月前
|
Java API
Java的Math.random获取区间随机数
Java的Math.random获取区间随机数
|
5月前
|
Java
Java常用类中随机数讲解与实践
Java常用类中随机数讲解与实践
42 0
|
6月前
|
安全 Java 数据安全/隐私保护
java random随机数的用法
java random随机数的用法
|
8月前
|
Java
如何使用Java实现随机数生成器
在Java编程中,需要生成随机数的情况非常常见。本文将介绍如何使用Java中提供的相关类和方法来实现随机数生成器。
75 1
|
9月前
|
存储 安全 Java
Java类库StrringBuffer类、Math、SimpleDateFormat、Random随机数、大数字处理类和UUID 无重复数据(附带面试题)
1.StrringBuffer类 CharConsequnse接口,2.Math数学计算,3.Date日期处理类与SimpleDateFormat、4.Random随机数、5.大数字处理类、6.UUID 无重复数据
77 0