第一种方式: 使用无参数的Random()构造函数;
默认种子值是使用DateTime.Now.Ticks作为种子值的,如果触发Random函数间隔时间很短,就有可能造成产生一样的随机数。
第二种方式: 使用RNGCryptoServiceProvider生成种子值;生成速度较慢。
1、Random()
使用与时间相关的默认种子值,初始化 Random 类的新实例。
2、Random(Int32)
使用指定的种子值初始化 Random 类的新实例。
参数为种子值,数据类型为Int32,用来计算伪随机数序列起始值的数字。 如果指定的是负数,则使用其绝对值。
Random类生成随机数是伪随机数,所以在Random的内部产生机制中还是有一定规律的,并非是真正意义上的完全随机。 如果种子值相同则每次均产生相同的随机数。
扩展资料
Random 类位于 java.util 包中,主要用于生成伪随机数。Random 类将 种子数 作为随机算法的起源数字,计算生成伪随机数,其与生成的随机数字的区间无关。
创建 Random 实例时,若没有指定种子数,则会以当前时间作为种子数,来计算生成伪随机数。拥有相同种子的 Random 实例,在相同次数下,生成的伪随机数完全相同。
random.nextBoolean():
用于从该随机数生成器的序列中得到下一个伪均匀分布的 boolean 值。
random.nextBytes():
用于生成随机 byte 值并将其放入用户提供的 byte 数组中,生成的随机 byte 数等于 byte 数组的长度
参考资料来源:
不是啊,我要的是每次运行程序时都产生一个新的随机数
追答我只是给你举个例子。你完全可以将
MyValue = Rnd