使用 Jetpack Compose 在 Kotlin 中执行一次随机数生成

问题描述 投票:0回答:1

出于数学目的,我试图将一个随机 Int 添加到另一个 Int 一次,但似乎经常获得新的随机数,而不是一次。我从一个值为 45 的数组中提取一个 Int,并且我想添加一个在 15 到 45 之间的随机 Int(假设它生成 26),这将使新值 71。

这是我目前拥有的:

@Composable
fun name(
// lost of variables listed from main activity
val timeList = listOf(
    15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
    26, 27, 28, 29, 30, 31, 32, 33, 34, 25, 36,
    37, 38, 39, 40, 41, 42, 42, 44, 45)
) {
if (songVar != "") {
    val index = arrayOfSongs.indexOfFirst { it[0] == songVar }
    time1m = (arrayOfSongs[index][1]).toInt()
    time1s = (arrayOfSongs[index][2]).toInt() + timeList.random()
    Log.d("random1", time1s.toString())
} else {
    time1m = 0
    time1s = 0
}
第一次循环变为

true 时,Logcat 将显示值变化,例如 10 次,但是当我移动到下一个

if
循环时,它会生成 100 次到 800 次之间的任何值。这经常改变其他数字和数学。 我想过每次应用程序打开时尝试创建一个新的随机数
Array
,这样我就可以询问某个
index
的任何值,但我不知道如何从我拥有的任何示例中做到这一点看过了。

kotlin random android-jetpack-compose
1个回答
0
投票

这是我根据@Милош Којадиновић 的评论所做的:

val rand1 = remember {
    (15..45).random()
}

第一次运行时我得到了 18 分,后续每次运行都保持 18 分

© www.soinside.com 2019 - 2024. All rights reserved.