Данный код был взят с книги Шилдта, стр122. Вопрос про выделенный блок кода где "Отбрасывается все остальные символы во входном буфере". В книге написано "В рассматриваемом здесь цикле эти символы отбрасываются до тех пор, пока не достигается конец строки. Если не сделать этого, лишние символы будут передаваться программе в качестве выбранной буквы, что не соответствует действительности.". Каким образом повторное чтение с клавиатуры ignore отбрасывает лишние символы? и почему в условии указано не равно переводу строки ? Такой момент в джавараше присутствует? статья какая нибудь? public static void main(String[] args) throws IOException { char ch, ignore, answer = 'k'; do { System.out.println("Задумана буква из диапазона a-z."); System.out.print("Попытайтесь ее угадать: "); ch = (char) System.in.read(); do { ignore = (char) System.in.read(); } while (ignore != '\n'); if(ch == answer) System.out.println("**Правильно!**"); else { System.out.print("...Извините, нужная буква находится "); if(ch < answer) System.out.println("ближе к концу алфавита"); else System.out.println("ближе к началу алфавита"); System.out.println("Повторите попытку!"); } } while (answer != ch); } }