我正在使用Math.random()方法将3个位图中的1个分配给多个对象,因此当它们出现在屏幕上时,通过调用随机数然后根据该数字位于何处之间分配位图,它们看起来都不同对于每个对象都是0和1,但是我一直看到像同一位图一样多次出现的模式,这只是我在寻找没有对象的模式吗?是否有更好的方法来随机化这样的事情?
答案 0 :(得分:2)
如果您想要比标准Java RNG“更随机”的东西,那么您需要使用加密RNG。这将会更慢,您将无法通过设置种子来重复相同的随机序列,因为RNG会采用各种内部系统输入以及您提供的任何种子。有关详细信息,请参阅java.security.SecureRandom
。
答案 1 :(得分:1)
它不是真正的"随机,但它足够随机了#34;。几乎没有真正的随机源,例如大气噪声。也许用于创建位图的方法自然会产生类似的模式。
答案 2 :(得分:1)
我认为您可能需要使用种子,以便每次都生成不同的序列。见(https://docs.oracle.com/javase/7/docs/api/java/util/Random.html)
如果使用相同的种子创建了两个Random实例,并且为每个实例创建了相同的方法调用序列,则它们将生成并返回相同的数字序列。为了保证这个属性,为Random
类指定了特定的算法
使用种子可以生成相同的结果并使用不同的种子,可以保证生成不同的数字序列。
答案 3 :(得分:0)
JDK1.7 doc说:返回值是伪随机选择的,并且从该范围开始均匀分布。