Buenas,
La unica razon por la que puede entrar en el while dos veces es porque tengas dos usuarios que se llamen igual.
Para asegurarte, mejor coloca un break tras verificar el usuario:
Por otro lado, comentar que Java dispone de un tipo nativo para guardar valores booleanos.
Ej:
Un saludo