常用构造方法:
Random()
:该构造方法使用一个和当前系统时间对应的数字作为种子数,然后使用这个种子数构造 Random 对象。
-Random(long seed)
:使用单个 long 类型的参数创建一个新的随机数生成器。
Random
类提供的所有方法生成的随机数字都是均匀分布的,也就是说区间内部的数字生成的概率是均等的。
boolean nextBoolean()
生成一个随机的boolean
值,生成 true 和 false 的值概率相等Random r = new Random(); System.out.println(r.nextBoolean());
double nextDouble()
生成一个随机的double
值,数值介于 [ 0 , 1.0 ) [0,1.0) [0,1.0),含 0 而不包含 1.0。
如果要生成 [ 0 , n ) [0,n) [0,n)之间的随机双精度浮点数,则给Random r = new Random(); System.out.println(r.nextDouble()); // 0.40276562291149665
r.nextDouble()
乘以 n n n即可。Random r = new Random(); System.out.println(r.nextDouble() * 10); // 4.399521217020129
int nextlnt()
生成一个随机的 int 值,该值介于int
的区间,也就是 − 2 31 -2^{31} −231~ 2 31 − 1 2^{31}-1 231−1。如果
需要生成指定区间的int
值,则需要进行一定的数学变换。Random r = new Random(); System.out.println(r.nextInt()); // 1748484220
int nextlnt(int n)
生成一个随机的int
值,该值介于 [0,n),包含 0 而不包含 n。Random r = new Random(); System.out.println(r.nextInt(2));
void setSeed(long seed)
重新设置 Random 对象中的种子数。设置完种子数以后的 Random 对象和相同种子数使用new
关键字创建出的Random
对象相同.long nextLong()
返回一个随机长整型数字
random()
Math 类的 random()
方法没有参数,它默认会返回大于等于 0.0、小于 1.0 的 double 类型随机数,即 0<=随机数<1.0。对 random() 方法返回的数字稍加处理,即可实现产生任意范围随机数的功能。
下面使用 random() 方法实现随机生成一个 -100~100 偶数的功能。具体代码如下:
public class Main {
public static void main(String[] args) {
int min = -100;
int max = 100;
int s = min + (int)(Math.random() * (max - min));
System.out.println(s);
}
}
由于 m+(int)(Math.random()*n)
语句可以获取
m
m
m~
m
+
n
m+n
m+n 的随机数,所以 -100+(int)(Math. random()*(100-(-100))
表达式可以求出 -100~100 的随机数。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)