This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
The problem is in the line with all the i's. So let's dissect that:
The reason is that i++ returns the old value of i, which is 0. i is incremented, yes, but that incrementing is then discarded because of the assignment.