Como iterar entre 0.1f e 1.0f com incrementos de 0.1f em Java? [duplicado]

Duplicata Possível:
Java flutua e duplica, como evitar que 0,0 + 0,1 +… + 0,1 == 0,9000001?

Estou tendo um problema a seguir em Java - preciso fazer uma iteração entre 0,1f e 1,0f em incrementos de 0,1f, então gostaria que minha saída fosse assim:

    0.1
    0.2
    0.3
    0.4
    ...
    0.9

Em vez disso, quando eu faço:

for(float i = 0.1f; i < 1f; i += 0.1f)
    System.out.println(i);

eu recebo

0.1
0.2
0.3
0.4
0.5
0.6
0.70000005
0.8000001
0.9000001

Eu imagino que tenha algo a ver com a forma como as frações são representadas por um computador, mas eu gostaria de saber por que isso acontece, e se há algo que eu possa fazer para pará-lo. obrigado.

questionAnswers(4)

yourAnswerToTheQuestion