【问题标题】:Selenium - generating random numberSelenium - 生成随机数
【发布时间】:2018-08-01 15:08:55
【问题描述】:

这是我的代码:

int index = (int)(Math.random()*15);

我想生成 20 到 30 之间的数字,而不是只数到 15。我该怎么做?

【问题讨论】:

  • 取一个0到10之间的随机数,结果加20?

标签: selenium selenium-webdriver random numbers generator


【解决方案1】:

在 Java 1.7 或更高版本中,在循环中生成介于 2030 之间的随机数的标准方法是使用 ThreadLocalRandomnextInt() /em> java.util.concurrent 模块如下:

import java.util.concurrent.ThreadLocalRandom;

public class Java_Generate_Random_Number {

    public static void main(String[] args) 
    {
        for(int i=0; i<5; i++)
        {
            int randomNum = ThreadLocalRandom.current().nextInt(20, 30 + 1);
            System.out.println(randomNum);
        }
    }
}

控制台输出:

28
27
30
20
24

【讨论】:

    【解决方案2】:
    ((int)(Math.random()*11)+20);
    

    由于您的范围是 11(包括 20 到 30),因此应用于“随机”命令的乘数为 11。 由于您的最小值为 20,因此您只需将 20 添加到该结果中。 希望这对你有用!

    【讨论】:

      【解决方案3】:

      你可以简单地使用下面的java代码:

      int number = new Random().nextInt(11) + 20
      

      您也可以使用下面的方法来生成任意范围之间的随机数。

      private static int getRandomNumberInRange(int min, int max) {
      
          if (min >= max) {
              throw new IllegalArgumentException("max must be greater than min");
          }
      
          Random r = new Random();
          return r.nextInt((max - min) + 1) + min;
      }
      

      只要像getRandomNumberInRange(20, 30)这样调用这个方法。

      【讨论】:

      • 我试过了..但它不起作用..是否有一些解决 int index = (int)(Math.random()*15);抱歉,我是新用户。我误按了您的解决方案代码的无用按钮。
      猜你喜欢
      • 2019-03-24
      • 1970-01-01
      • 1970-01-01
      • 2023-01-03
      • 1970-01-01
      • 2011-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多