我正在尝试存储随机数生成器生成的所有数字。之后,数字生成器需要检查数字是否已经生成,如果是,它将继续生成一个新的数字,直到生成所有数字,例如1到30。到目前为止,我只有随机数生成器:
if let Aantalvragen = snapshot?.data()!["Aantal vragen"] as? String {
self.AantalVragenDef = Aantalvragen
}
let RandomVraag = Int(arc4random_uniform(UInt32(self.AantalVragenDef)!) + 1)AantalVragenDef是一个指示有多少问题的数字。因此,生成器知道它可以生成多远。请帮帮忙。
发布于 2018-07-01 00:25:07
最简单的方法可能是创建一个数组或列表,并用您想要的数字1到n填充它,对其进行混洗,然后按数字出现的顺序使用它们。这样你就可以保证每个数字只出现一次。
发布于 2018-07-01 00:32:42
我相信你正在尝试得到的是一个随机生成器,它生成从1到问题数量的数字,但是如果这个数字已经存在,你就不想保留它。我建议使用if-else语句和数组。
代码可能如下所示:
if let Aantalvragen = snapshot?.data()!["Aantal vragen"] as? String {
self.AantalVragenDef = Aantalvragen
}
var array = [Int]()
while array.count != self.AantalVragenDef {
let RandomVraag = Int(arc4random_uniform(UInt32(self.AantalVragenDef)!) + 1)
if array.contains(RandomVraag) == false {
array.append(RandomVraag)
}
}这个循环将继续下去,直到数组中有(问题数)个整数。如果这就是你要找的,请告诉我。
祝你好运,阿纳夫
https://stackoverflow.com/questions/51116505
复制相似问题