La condizione del while è errata... while significa "mentre" ed il cilo si ripete, appunto, "mentre la condizione rimane vera"... quindi termina quando la condizione diventa falsa. Dopo la prima esecuzione, la condizione è già falsa, quindi il ciclo termina.

PS: usa i tag CODE per il codice, così rimane indentato e non perde la formattazione.

Ciao.