IF and ELSE statements being executed

UKHeliBob:
Are you trying to keep the LED on for a period ?

I will explain what this is supposed to do.

The overall is a program that turns on a LED at a random time defined for interval, and stays ON until the button is pressed. When it pressed it calculates the time that the user took to press it, and creates a new random interval for the LED to turn on. I only click on the button once, so the second time it goes through the loop it shouldnt even enter the " digitalRead == true" IF statement. Are you saying that arduino is so fast that between my clicking and unclicking , it runs the program twice and it detects the button still pressed? Should I put some small delay to fix that? Thnx!