生成非常大的随机数java



如何在java中生成非常大的随机数?我说的是10000个数字?我知道我们必须使用BigInteger,但我们怎么做呢?做这样的事情最有效的方法是什么?请提供一个小例子。谢谢你。

嗯,一种方法是去Random.org下载一个二进制随机文件。这些文件是由大气噪声产生的,所以非常随机。我将它用于象棋引擎中的Zobrist键。

或者你可以输入

BigInteger b = new BigInteger(256, new Random());

它会给你你想要的。在本例中,由256位组成的BigInteger

Random.nextBytes(byte[])BigInteger(byte[])合并

import java.util.*;
import java.math.*;
class Test{
    public static void main(String[]_){
        int n = 16;
        Random r = new Random();
        byte[] b = new byte[n];
        r.nextBytes(b);
        BigInteger i = new BigInteger(b);
        System.out.println(i);
    }
}

你可以直接输入:

int number = (int)(Math.random() * 100);

如果您更改乘数,还可以生成更大的数字:

int number = (int)(Math.random() * 1000);

注:你不需要导入类

最新更新