相关疑难解决方法(0)

如何在Java中生成随机BigInteger值?

我需要生成0(包括)到n(不包括)范围内的任意大的随机整数.我最初的想法是调用nextDouble并乘以n,但是一旦n大于2 53,结果将不再均匀分布.

BigInteger 有以下构造函数可用:

public BigInteger(int numBits, Random rnd)
Run Code Online (Sandbox Code Playgroud)

构造一个随机生成的BigInteger,均匀分布在0到(2 numBits - 1)的范围内,包括0和(2 numBits - 1).

如何使用它来获得0到n范围内的随机值,其中n不是2的幂?

java random biginteger

62
推荐指数
3
解决办法
6万
查看次数

生成非常大的随机数java

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

java random largenumber biginteger

8
推荐指数
2
解决办法
1万
查看次数

我需要在Java变量中放入41.32万亿美元,但长数据类型仅限于4万亿

我是Java编程的新手。我正在计算特定距离内的行驶速度,但是当达到万亿时,我不确定该怎么做。

我已经尝试过将'L'放在值的最后一部分,但是,我还记得长数据类型限制为4万亿,所以我得到了这个错误:

错误:(22、58)Java:非法字符:'\ u202c'

double speed = 299792;
long distance= 41320000000000?L;
long temp = distance/speed; 
Run Code Online (Sandbox Code Playgroud)

我期望结果是137828894.70。但是我只会得到错误。从昨天开始,我一直在寻找答案,但是对此我没有任何解决方案。

编辑

我能够解决问题,谢谢大家的帮助!我的代码现在可以正常工作,如下所示:

BigDecimal distance= new BigDecimal("41320000000000");
BigDecimal speed = new BigDecimal("299792");
BigDecimal travelSpeed = distance.divide(speed, BigDecimal.ROUND_HALF_UP);
Run Code Online (Sandbox Code Playgroud)

java

0
推荐指数
1
解决办法
79
查看次数

标签 统计

java ×3

biginteger ×2

random ×2

largenumber ×1