可能重复:
从给定范围生成随机 BigDecimal 值
BigDecimal
如何在 0 和 1 之间随机创建大量值?
看看这个JavaDoc。一旦你有一个数字值a lot
,做一个简单的 for 循环并使用Random
类来初始化随机双精度值。
试试这个代码
class BigDecRand {
public static void main(String[] args) {
String range = args[0];
BigDecimal max = new BigDecimal(range + ".0");
BigDecimal randFromDouble = new BigDecimal(Math.random());
BigDecimal actualRandomDec = randFromDouble.divide(max,BigDecimal.ROUND_DOWN);
BigInteger actualRandom = actualRandomDec.toBigInteger();
}
}
更多细节