我想创建一个斐波那契数列。用户将输入一个数字,例如 9,然后将显示斐波那契数列,以最接近的斐波那契数列结束。所以,在这种情况下:0,1,1,2,3,5,8
我在二维数组中存储元素时遇到问题。当循环从0开始时,存储索引0处的0,当循环到1时,再次存储索引0处的1,但它应该存储在索引1处。这导致上部出现索引超出范围错误的代码。我应该使用不同于追加的东西还是其他东西?
func fabino(until: Int) {
if until > 2 {
for number in 0...until {
var arrayOfDemoNumbers = [Int]()
if number > 1 {
arrayOfDemoNumbers.append(arrayOfDemoNumbers[number - 1] + arrayOfDemoNumbers[number - 2])
listOfNumbers = listOfNumbers + "\(arrayOfDemoNumbers[number]), "
}else{
sum = number + sum
arrayOfDemoNumbers.append(sum)
// arrayOfDemoNumbers[number] = sum
listOfNumbers = listOfNumbers + "\(sum), "
dump(arrayOfDemoNumbers)
}
}}else{
self.listOfNumbers = "0,1,1"
}
labelToChange.text = listOfNumbers
}
最佳答案
func fabino(until: Int) {
var arrayOfDemoNumbers = [Int]()
if until > 2 {
for number in 0...until {
if number > 1 {
arrayOfDemoNumbers.append(arrayOfDemoNumbers[number - 1] + arrayOfDemoNumbers[number - 2])
listOfNumbers = listOfNumbers + "\(arrayOfDemoNumbers[number]), "
}else{
sum = number + sum
arrayOfDemoNumbers.append(sum)
// arrayOfDemoNumbers[number] = sum
listOfNumbers = listOfNumbers + "\(sum), "
dump(arrayOfDemoNumbers)
}
}}else{
self.listOfNumbers = "0,1,1"
}
labelToChange.text = listOfNumbers
}
关于arrays - Swift:为什么在使用追加时没有元素添加到我的数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48195163/