【问题标题】:How can I generate random number in specific range in Android? [duplicate]如何在Android中生成特定范围内的随机数? [复制]
【发布时间】:2011-08-27 03:13:52
【问题描述】:

我想生成特定范围内的随机数。 (例如,范围在 65 到 80 之间)

我按照下面的代码尝试,但它不是很充分。它还返回大于最大值的值。值(大于 80)。

Random r = new Random();
int i1 = (r.nextInt(80) + 65);

如何在一个范围内生成随机数?

【问题讨论】:

  • 使用Kotlin,您可以这样做:val r = (0..10).random()

标签: java android kotlin random


【解决方案1】:
int min = 65;
int max = 80;

Random r = new Random();
int i1 = r.nextInt(max - min + 1) + min;

请注意,nextInt(int max) 返回的 int 介于 0 和 max 之间。因此+1

【讨论】:

    【解决方案2】:
    Random r = new Random();
    int i1 = r.nextInt(80 - 65) + 65;
    

    这给出了一个介于 65(含)和 80(不含)之间的随机整数,65,66,...,78,79 之一。

    【讨论】:

    • 它不适用于负数
    • 如果你需要一个负数,使用它并乘以-1。我想你需要一个花车。
    • @Sirens:他甚至可以再生成两个数字,然后计算它们之间的差异(可以是负数或正数;)),最后乘以原始随机数;)
    • 尽可能简单:int myRandomInt = new Random().nextInt(80 - 65) + 65;
    • 我已经以一种或另一种方式编写 Java 大约 8 年了,我仍然在需要时复制并粘贴这段代码,干杯 ?
    猜你喜欢
    • 2014-10-23
    • 2016-05-04
    • 1970-01-01
    • 2011-03-01
    • 1970-01-01
    • 2022-07-14
    相关资源
    最近更新 更多