当前位置: 首页 > 知识库问答 >
问题:

我怎样才能在科特林得到一个随机数?

诸葛立果
2023-03-14

一种通用方法,可以返回两个参数之间的随机整数,就像ruby使用rand(0..n)时所做的那样。

有什么建议吗?

共有3个答案

裘光启
2023-03-14

从kotlin 1.2开始,您可以这样写:

(1..3)。洗牌()。last()

请注意,它是大O(n),但对于一个小列表(尤其是唯一值),它是可以的:D

赫连淳
2023-03-14

from(包含)和to(排除)之间生成一个随机整数

import java.util.Random

val random = Random()

fun rand(from: Int, to: Int) : Int {
    return random.nextInt(to - from) + from
}
顾靖
2023-03-14

我的建议是在IntRange上使用一个扩展函数来创建这样的随机数:(0..10)。random()

从1.3开始,Kotlin自带了自己的多平台随机生成器。这本书对它进行了描述。下面描述的扩展现在是Kotlin标准库的一部分,只需像这样使用它:

val rnds = (0..10).random() // generated random from 0 to 10 included

如果我们在JDK上使用随机代码

fun IntRange.random() = 
       Random().nextInt((endInclusive + 1) - start) + start

像这样使用:

// will return an `Int` between 0 and 10 (incl.)
(0..10).random()

如果您希望函数只返回1, 2, ..., 910不包括在内),请使用构造的范围,直到

(0 until 10).random()

如果你在与JDK合作

KotlinJs和其他变体

对于kotlinjs和其他不允许使用java.util.Random的用例,请参阅此替代方案。

此外,有关我的建议的变体,请参阅此答案。它还包括随机Chars的扩展函数。

 类似资料:
  • 我在Firestore有一个项目: 我需要获取数组“Personal”并在列表视图中显示它,我在这里看到一个类似的例子,从Firestore获取一个ArrayList和文档名,我尝试了这个解决方案。。。 Android Studio不显示错误,但试着运行应用程序,结果停止了,有人能帮我吗?

  • 如何获取已设置为ImageView的可绘图文件的名称?

  • 问题内容: 我想要一个可以调用以随机或每次调用的函数: 如何返回随机布尔值? 问题答案: 您需要某种随机信息,并且根据其值,可以在一半的可能情况下返回它,而在另一半情况下可以返回。 使用一个非常简单的例子中的包: 不要忘记使用以下方法正确打包程序包,以使其在每次运行的应用程序中都不同: 这是在的doc文件中提到的: 如果每次运行需要不同的行为,请使用种子函数初始化默认的源。 如果不设置种子,则每次

  • 从Scala列表开始。 如何将其转换为可遍历一次?

  • 我有“下载正在进行文件”对话框活动。当用户按下“隐藏”按钮时,活动将创建通知和隐藏进度对话框。并且当用户单击到通知时,活动显示进度对话框再次出现在活动中。我如何在按下按钮“后退”时切换活动到后退任务?

  • 有什么方法可以简化这段代码吗?我正好有一个白色的一块,想要得到它的位置 代码: 瓦片类: 件类: