欢迎光临散文网 会员登陆 & 注册

普通的Java教程——生成指定范围内的随机数

2019-09-22 21:25 作者:天羽ちよこ  | 我要投稿

本文翻译自 baeldung 的博客,版权归原作者所有。

1. 概述

在本教程中,我们将探讨使用Java语言生成指定范围内的随机数。

2. 生成指定范围的随机数

2.1 使用Math.random()

Math.random()生成一个范围在0到1之间的double类型的随机数,且该值大于等于0.0,小于1。

示例编码如下:

public int getRandomNumber(int min, int max) {

    return (int) ((Math.random() * (max - min)) + min);

}

当Math.random()返回0.0时,这个函数的返回值是最小值:

0.0*(max-min)+min=min

当Math.random()返回1时(实际达不到),那么这个函数的返回值的上限是:

1*(max-min)/-min=max

2.2 使用java.util.Random.nextInt()

使用java.util.Random的实例,也可以用来做同样的事情,相关代码如下:

public int getRandomNumberUsingNextInt(int min, int max) {

    Random random = new Random();

    return random.nextInt(max - min) + min;

}

该函数生成的数同样是包括最小值,不包括最大值。

2.3 使用java.util.Random.ints()

java.util.Random.ints方法返回一个随机整数的Stream。

public int getRandomNumberUsingInts(int min, int max) {

    Random random = new Random();

    return random.ints(min, max)

      .findFirst()

      .getAsInt();

}

该函数生成的数同样是包括最小值,不包括最大值。

总结

在本文中,我们了解了在给定范围内生成随机数的几种方法。相关代码可以在github中看到:https://github.com/eugenp/tutorials/tree/master/java-numbers-2

普通的Java教程——生成指定范围内的随机数的评论 (共 条)

分享到微博请遵守国家法律