What's wrong? Controlling void loops with integers.

boolean once;
if(lightLevel>1800 && lightLevel<10000 && once == true)

And the value of "once" is . . ?