recherche

Maison  >  Questions et réponses  >  le corps du texte

java 生成随机数

Random 类的实例 random

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

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

迷茫迷茫2805 Il y a quelques jours822

répondre à tous(1)je répondrai

  • PHPz

    PHPz2017-04-18 09:51:20

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

    Double peut représenter trop de décimales, donc en termes de probabilité, la chance de générer aléatoirement var2 est trop faible, je vous suggère donc de l'ignorer. Si vous ne prenez qu'un nombre fixe de décimales, par exemple 2 décimales, vous pouvez faire ceci :

    // 取[1.20, 1.30]
    long n = random.longs(1, 120, 130 + 1).findFirst().orElse(0);
    // 将n的小数点左移两位

    répondre
    0
  • Annulerrépondre