Numeros Randomicos

Como fazer para que possa fazer um cont de 1000 vezes e a função randomica testando se é 0 ou 1 nestas 1000 vezes.

Random r = new Random();

for (int i = 0; i < 1000; i++)
{
float f = Random.nextFloat();
if (f == 1.0f)
System.out.println(“É igual a 1”);
elseif (f == 0.0f)
System.out.println(“É igual a 0”);
}

Observe que aqui está sendo testado se o número é exatamente igual a 1 ou exatamente igual a 0. O jeito correto de testar se um número em ponto flutuante é igual a outro é:

|X - Y| < E

onde || significa módulo, X e Y são dois números em ponto flutuante e E é um número muito pequeno, do tipo 0.0000001…

Por que o jeito correto de testar é assim? É devido a problemas de precisão, por exemplo, 0.9999999999 é igual a 1.0??? Testando daquela forma é, testando usando o == não…