java 生成随机数
迷茫
迷茫 2017-04-18 09:49:20
0
1
810

Random 类的实例 random

random.doubles(1, var1, var2  ).findFirst().orElse(0);

貌似只能生成 [var1, var2) 的随机数(左闭右开),
我想生成[var1, var2](左闭右闭)的该怎么写?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

membalas semua(1)
PHPzhong

Penyelesaian:
random.doubles(1, var1, var2 + Double.MIN_VALUE).findFirst().orElse(0);

Double boleh mewakili terlalu banyak tempat perpuluhan, jadi dari segi kebarangkalian, peluang untuk menjana var2 secara rawak adalah terlalu kecil, jadi saya cadangkan anda mengabaikannya. Jika anda hanya mengambil bilangan tempat perpuluhan yang tetap, seperti 2 tempat perpuluhan, anda boleh melakukan ini:

// 取[1.20, 1.30]
long n = random.longs(1, 120, 130 + 1).findFirst().orElse(0);
// 将n的小数点左移两位
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan