2016-07-23 185 views
0

所以我想使用我的数组中的数据将其添加到变量。变量名称是newValue。我有一个名为numbers一个数组,这是它看起来像如何获取数组中的所有数据并将其存储在新变量或常量中?

let numbers = [2,8,1,16,4,3,9]

我还有一个变种是和“无功总和= 0”。最后又有一个叫做计数器var counter = 0

所以!这是我的所有代码。

let numbers = [2,8,1,16,4,3,9] 
var sum = 0 
var counter = 0 

while counter < numbers.count { 
    var newValue = numbers 
    sum = sum + newValue 
    counter++ 
} 

因为你可以我试图将值添加到我的var newValue。怎么样?

我很抱歉,代码看起来像这样,但它只是在我尝试制作多行代码块时不起作用。如果有人知道,然后告诉我。其他方面,你可以将代码放在某种idk的文本编辑器中。非常感谢你们。

回答

1

你的错误是因为你要添加Int[Int],即一个Int到Array <Int>(只能添加的属性相同Type),您需要做的是通过访问element,counter作为Index值,将Int添加到元素Array<Int>

使用计数器的值作为指标值来从 检索每个数组,并添加

let numbers = [2,8,1,16,4,3,9] 
var sum = 0 
var counter = 0 

while counter < numbers.count { 
    var newValue = numbers 
    sum = sum + newValue[counter] // use counter to access element of Array 
    counter += 1 // also ++ is deprecated // now use += 1 instead 
} 

print(sum) // 43 
+0

非常感谢您的帮助。我现在得到它,并将再次查看逻辑! :) –

0

如果要计算阵列的你可以试试这个总和......

let numbers = [2,8,1,16,4,3,9] 
var sum = 0 
for each in numbers { 
    sum = sum + each 
} 
print(sum) //Prints -->> 43 
+0

感谢您的回答,但它不是我所期待的。我目前正在快速学习,并在teamtreehouse.com上面对代码挑战。挑战状态:现在我们已经建立了while循环,是时候计算总和了! 使用计数器的值作为索引值,从数组中检索每个值并将其添加到sum值。 例如:sum = sum + newValue。或者你可以使用复合加法运算符sum + = newValue,其中newValue是从数组中检索的值。 –

0

如果添加类型它可以帮助您变量。

  1. 注意你初始化numbers作为Integers阵列,并且 总和是一个Integer。这两个不能相加。

    代替var sum = 0使用var sum: Int = 0

  2. 您使用的是while循环,可以使用for-infor-each

  3. 当循环您声明var NewValue = numbers,也许考虑到decleare var newValue = 0只有一次外循环

  4. 回到你的问题,如果你仍然想使用while循环,和最小变化。注意评论

    let numbers = [2,8,1,16,4,3,9] 
    var sum = 0 
    var counter = 0 
    
    while counter < numbers.count { 
        // var newValue = numbers //new value is now array and that's not what you want 
        var newValue = numbers[counter] // I think that is the change you are looking fot 
        sum = sum + newValue 
        counter += 1 // ++ is deprecated in swift 
    } 
    
相关问题