Почему данная программа так работает?

То есть она просит ввести букву "q", если ты вводишь не "q", а другую букву она продолжает требовать ввести нужную букву.

Вот что она выводит: Нажмите нужную клавишу, а затем клавишу ENTER: r Нажмите нужную клавишу, а затем клавишу ENTER: Нажмите нужную клавишу, а затем клавишу ENTER: gkh Нажмите нужную клавишу, а затем клавишу ENTER: Нажмите нужную клавишу, а затем клавишу ENTER: Нажмите нужную клавишу, а затем клавишу ENTER: Нажмите нужную клавишу, а затем клавишу ENTER:

Почему 2 раза просит? А когда вводишь 3 буквы то почему 4 раза просит? И как сделать чтобы один раз просила?

import java.io.IOException;

public class HelloWorld {
public static void main(String[] args)
        throws java.io.IOException {

    char ch;
    do {
        System.out.println("Нажмите нужную клавишу, а затем клавишу ENTER: ");
        ch = (char) System.in.read();
    } while (ch != 'q');
}

}


Ответы (0 шт):