This week's book giveaway is in the OCPJP forum. We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line! See this thread for details.
looking at your code-example I see that you change your Calendar-object newCal inside the for-loop. I think that's the reason, because changing the DATE-field has effect on the DAY_OF_WEEK. Try to change this and I think it'll work correct.