📜  Java Math random()

📅  最后修改于: 2020-09-27 01:13:45             🧑  作者: Mango

Java Math random()方法返回一个大于或等于0.0且小于1.0的值。

random()方法的语法为:

Math.random()

注意random()方法是静态方法。因此,我们可以使用类名Math直接调用该方法。


random()参数

Math.random()方法没有任何参数。


random()返回值
  • 返回介于0.01.0之间的伪随机值

注意 :返回的值不是真正随机的。取而代之的是通过满足一定随机性条件的确定的计算过程来生成值。因此称为伪随机值。


示例1:Java Math.random()
class Main {
  public static void main(String[] args) {

    // Math.random()
    // first random value
    System.out.println(Math.random());  // 0.45950063688194265

    // second random value
    System.out.println(Math.random());  // 0.3388581014886102

    // third random value
    System.out.println(Math.random());  // 0.8002849308960158

  }
}

在上面的示例中,我们可以看到random()方法返回三个不同的值。


示例2:生成10到20之间的随机数
class Main {
  public static void main(String[] args) {

    int upperBound = 20;
    int lowerBound = 10;

    // upperBound 20 will also be included
    int range = (upperBound - lowerBound) + 1;

    System.out.println("Random Numbers between 10 and 20:");

    for (int i = 0; i < 10; i ++) {

      // generate random number
      // (int) convert double value to int
      // Math.round() generate value between 0.0 and 1.0
      int random = (int)(Math.random() * range) + lowerBound;
      System.out.print(random + ", ");
    }

  }
}

输出

Random Numbers between 10 and 20:
15, 13, 11, 17, 20, 11, 17, 20, 14, 14,

示例3:访问随机数组元素
class Main {
  public static void main(String[] args) {

    // create an array
    int[] array = {34, 12, 44, 9, 67, 77, 98, 111};

    int lowerBound = 0;
    int upperBound = array.length;

    // array.length will excluded
    int range = upperBound - lowerBound;

    System.out.println("Random Array Elements:");
    // access 5 random array elements
    for (int i = 0; i <= 5; i ++) {

      // get random array index
      int random = (int)(Math.random() * range) + lowerBound;
      System.out.print(array[random] + ", ");
    }

  }
}

输出

Random Array Elements:
67, 34, 77, 34, 12, 77,

推荐的教程

  • Math.round()
  • Math.pow()
  • Math.sqrt()