 # Compute the sum after setting up a while loop.

I'm not too sure what my while loop is doing. Then the second part of the challenge is asking me to compute the sum? 1) Compute the sum of what? 2) and what does it mean to use the value of the counter variable as an index value?

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

while counter < numbers.count {
sum += numbers[counter]
counter += 1
}
``` STAFF

Hello Richard,

Your while loop condition is set to iterate through each value in the numbers array. Since the counter variable is initialized to 0 and the numbers array contains 7 values, it will iterate from 0 to 6, making 7 total.

To answer your first question, the challenge is asking you to compute the sum of each number in the numbers array, which means in each iteration of the loop you're accumulating the sum variable with a number in the numbers array.

You use the counter variable in order to get the current index value from the numbers array. In each iteration, the counter variable is increased by one which is good for two reasons. It ensures that we don't create an infinite loop because our while condition depends on the counter eventually be greater than or equal to 7. Also, it allows us to use it against the numbers array to get the value stored by the index.

I hope this helps. Justin,

will you explain why counter is placed in square brackets on the second line after numbers: sum += numbers[counter] I understand that we are addingthe numbers in the array to the total value of the variable sum with each iteration of the loop. I understand that the third line counter +=1 is incrementing the shift through the numbers array. How do I read the second line of code? Hi Richard,

I'm glad to hear it's clear now! I'd be happy to explain the line in question. The reason `counter` is placed between square brackets is because it is this syntax that allows us to request the value in the array stored at a particular index.

For example, given an array `someArray = [1,2,3]`, say we want to ask the array to give us the value stored at index 2. We would use the bracket syntax like this `someArray`. Array indexes start at 0, so the value returned from the array at index 2 would be `3`.

Now if we go back to the original code, using the counter variable that gets incremented in every iteration of the loop, we can see that when `counter` is 0, we're passing a 0 via the bracket syntax to the `numbers` array to request the value stored at that element. This is the result of the code execution.

```counter = 0
sum += 2

counter = 1
sum += 8

counter = 2
sum += 1

counter = 3
sum += 16

... and so on
```

I hope this helps