float x=1.1;
while (x==1.1)
float и double variables не способны хранить точное значение 1.1, только очень близкое приближение. Точное значение в float и double будет немного отличаться из-за разницы в точности.
1.1 является значением double . Вы храните 1.1 как двойной в поплавок, который немного изменит значение. Затем вы сравниваете его с двойным значением 1.1, поэтому он не будет равным и никогда не войдет в ваше состояние.
Для этого вам нужно написать 1.1f, чтобы убедиться, что вы работаете с тем же тип данных везде. Кроме того, я уверен, что кто-то еще объяснит, почему сравнение значений с плавающей точкой для точного равенства часто является плохой идеей.