在java中,使用范围内的Random()很容易找到随机数。
以下是我尝试过的方法。
public int rand(int min, int max){
Random rands = new Random();
int numRand = rands.nextInt(max-min) + min;
return numRand;
}
但是,它是整数,最大值为2,147,483,647。
然后,我需要计算一些具有大数字的值。
我们说大号是5234960860151076037807790832396537967963815240976924943830782457906435372625549206966897650382309539933354611312768681026528740101
它包含130个字符的数字。它不能以整数存储,即使是双精度存储。但是,我需要找到那样的大型随机数。
所以,我找到了使用BigInteger随机大数字的方法。
在here处,随机数仅为n位数。
在here,从1到8180385048
的随机数。
到目前为止,我发现它们很有用。但我仍然在如何知道最小数字是0
还是1
还是123456712312
时感到困惑。
我想使用BigInteger从最小值到最大值生成随机数,例如从123456712312
到12345678910213212312312312312312
。
那么,我怎样才能找到该范围内的随机数(从123456712312
到12345678910213212312312312312312
)?