Что не так с этим циклом while? [Дубликат]

На этот вопрос уже есть ответ здесь:

Точка с запятой в конце оператора if 17 ответов
boolean r = false ; int s = 0 ;
while (r == false) ; 
{
    s = getInt() ; 
    if (!(s>=0 && s<=2)) System.out.println ("try again not a valid response") ; 
    else r = true ; 
}

Текст никогда не отображается сам по себе, даже если введены 3 или 123, и цикл никогда не завершается. Что здесь не так?

Ответы на вопрос(7)

Ваш ответ на вопрос