产生非常大的随机数的java

问题描述 投票:8回答:3

我们怎样才能生成Java非常大的随机数?我说像10000级的数字?我知道我们必须使用的BigInteger但如何才能做到这一点?什么是做这样的事情的最efficent方法是什么?请提供一个小例子。谢谢。

java random biginteger largenumber
3个回答
18
投票

当然,一种办法是去Random.org和下载二进制文件随机的一个。该文件是从大气中产生的噪音,所以这是很随意的。我用它在我的国际象棋引擎佐布里斯特键。

或者你可以去

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

这会给你想要的东西。在这个例子中,一个BigInteger包括256位。


8
投票

结合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);
    }
}

-1
投票

您只需键入:

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

此外,如果您将放大倍数可以产生更大的数字:

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

附:你并不需要导入的类。

© www.soinside.com 2019 - 2024. All rights reserved.