如何在Kotlin中为二维数组填充1-90的随机数?
Kotlin二维数组填充1-90随机数的实现方法
方法1:嵌套循环逐个填充
直接遍历二维数组的每个元素,借助kotlin.random.Random生成1到90的随机整数:
import kotlin.random.Random val table: Array<Array<Int>> = Array(3) { Array(9) { 0 } } // 遍历3行 for (i in table.indices) { // 遍历每行的9个元素 for (j in table[i].indices) { // nextInt的第二个参数是排他上限,写91才能生成1-90的整数 table[i][j] = Random.nextInt(1, 91) } }
方法2:初始化时直接生成(Kotlin简洁风格)
无需先创建全0数组再填充,可以在数组初始化的Lambda表达式里直接生成随机数,一步完成:
import kotlin.random.Random val table: Array<Array<Int>> = Array(3) { Array(9) { Random.nextInt(1, 91) } }
特殊场景:避免重复随机数
如果需要数组内的随机数不重复(比如模拟彩票号码),可以先生成1-90的有序列表并打乱,再逐个填充到数组中:
import kotlin.random.Random val shuffledNumbers = (1..90).shuffled(Random) var currentIndex = 0 val table: Array<Array<Int>> = Array(3) { Array(9) { shuffledNumbers[currentIndex++] } }
内容的提问来源于stack exchange,提问作者Den
相关产品推荐
相关产品推荐

