文章36 | 阅读 17112 | 点赞0
作用:返回带正号的double值,返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。
范围:[0.0,1.0)的左闭右开区间
原理:Math.Random内部是调用的Java.util.Random无参构造器实现的
代码:
package Java_study;
//无需导包
public class suiji1 {
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
System.out.println(Math.random());
}
}
}
测试记录:
0.2656139815369676
0.9545819797288358
0.48223757014225377
0.5396096975059794
0.2549847220943994
使用的是48-bit的种子,然后调用一个linear congruential formula线性同余 。如果两个Random实例使用相同的种子,并且调用同样的函数,那么生成的sequence是相同的.
方法摘要:
生成下一个伪随机数。
protected int next(int bits)
返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的boolean值。
boolean nextBoolean()
生成随机字节并将其置于用户提供的 byte 数组中。
void nextBytes(byte[] bytes)
返回下一个伪随机数,它是取自此随机数生成器序列的、在0.0和1.0之间均匀分布的 double值。
double nextDouble()
返回下一个伪随机数,它是取自此随机数生成器序列的、在0.0和1.0之间均匀分布float值。
float nextFloat()
返回下一个伪随机数,它是取自此随机数生成器序列的、呈高斯(“正态”)分布的double值,其平均值是0.0标准差是1.0。
double nextGaussian()
返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。
int nextInt()
返回一个伪随机数,它是取自此随机数生成器序列的、在(包括和指定值(不包括)之间均匀分布的int值。
int nextInt(int n)
返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 long 值。
long nextLong()
使用单个 long 种子设置此随机数生成器的种子。
void setSeed(long seed)
范围
代码:
package Java_study;
import java.util.Random;
public class suiji2 {
public static void main(String[] args) {
// 创建对象
Random r = new Random();
for (int x = 1; x <= 10; x++) {
//获取随机数
int number = r.nextInt();
System.out.println("number:" + number);
}
System.out.println("----------");
for (int x = 1; x <= 10; x++) {
//获取随机数
int number1 = r.nextInt(10);
System.out.println("number1:" + number1);
}
System.out.println("----------");
//如果获取一个1-100之间的随机数呢?
int i = r.nextInt(100) + 1;
System.out.println(i);
}
}
测试记录:
number:288284056
number:1636033943
number:657595534
number:-2128946490
number:1232717773
number:1103976520
number:1865262929
number:1076542435
number:879661990
number:21193790
----------
number1:9
number1:6
number1:0
number1:6
number1:7
number1:4
number1:1
number1:6
number1:6
number1:1
----------
93
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/u010520724/article/details/119644297
内容来源于网络,如有侵权,请联系作者删除!