您好,我正在尝试从不重复的随机数创建一个数组。
我写了下面的代码numberOfAnimals
当前 10 显示数组中有多少个数字。当我在 Playground 上运行这个时,我得到
“[6, 5, 1, 4, 7, 0]\n”作为 print 语句的输出,因此总共 6 个数字而不是 10 个。为了避免它,我正在减少 i
的值在if
语句如果数组中已经存在随机数,在这种情况下 for 循环需要额外的循环才能达到 10 但仍然不起作用。
您能否检查一下错误在哪里,或者给我另一个可行的代码建议?
import UIKit
var array = [Int]()
var max : Int = 10
var numberOfAnimals : Int = 10
for var i in 0..<numberOfAnimals {
let randomNumber : Int = Int(arc4random_uniform(UInt32(max)))
if array.contains(randomNumber) {
i = i - 1
} else {
array.append(randomNumber)
}
}
print(array)
最佳答案
为什么不使用一个 while 循环,直到数组中有十个数字为止。
while array.count < 10 {
...
if !array.contains(randomNumber) {
array.append(randomNumber)
}
}
关于arrays - 将不重复的随机数添加到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48735487/