出于数学目的,我试图将一个随机 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
的任何值,但我不知道如何从我拥有的任何示例中做到这一点看过了。
这是我根据@Милош Којадиновић 的评论所做的:
val rand1 = remember {
(15..45).random()
}
第一次运行时我得到了 18 分,后续每次运行都保持 18 分