```while (true)``` вводит в заблуждение. Старайтесь его избегать. Если поможет, есть форма ``` do {...} while (condition)```