gpt4 book ai didi

Java 随机数生成器

转载 作者:搜寻专家 更新时间:2023-11-01 01:45:22 26 4
gpt4 key购买 nike

是否可以让用户选择随机数的位数,特别是随机大整数?例如,如果用户希望它的长度为 15 位,则随机数生成器将只生成 15 位长的大整数。

最佳答案

您可以使用BigInteger 的构造函数来指定二进制位数:BigInteger(int numBits, Random rnd) .对于用户想要的每三个十进制数字,您大约需要十个二进制数字。例如,如果您需要一个 30 位的随机 BigInt,请使用 100 个二进制数字。

可以用remainder(10^30)把不需要的数字剪掉,循环做,保证首位不为0,保证位数正确,比如这个:

Random rnd = new Random(123);
BigInteger tenPow30 = new BigInteger("10").pow(30);
BigInteger min = new BigInteger("10").pow(29);
BigInteger r;
do {
r = new BigInteger(100, rnd).remainder(tenPow30);
} while (r.compareTo(min) < 0);
System.out.println(r);

链接到 demo .

关于Java 随机数生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12439942/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com