Good explanation Brad.
If you need to keep the value of the counter when the loop finishes, then what you did would be exceptable. When you leave the loop, you can still access i.
However, for this assignment, you don't need i any more, so declaring it inside of the for construct is more common and better for the sake of memory. I know here it doesn't really matter becuase the class is so small, but we are trying to teach not just this one example, but show you what would be needed for larger programs that you will have in the future.
So let's say you have a class that will need to have 4 separate loops. You would have to keep resetting i back to 0 for each loop and it would be prone to bugs if that was forgotten, something that may be hard to catch. Keep you counter inside of your loop, then once you leave it you can't get to it anymore so next loop you have you can declare i again without any problems.
Does that make sense?
Now if you don't know how to declare it inside of a loop, then take a look at some books or code examples around this forum. I could tell you, but I always feel you will remember more if you try to look things up yourself. Or at least that is how I learn
Bill