Эта интерактивность недоступна в чистой Java на текстовой консоли. Весь ввод буферизуется в текстовой консоли.
Вы можете сделать это с помощью графического интерфейса, который можно сделать похожим на текстовую консоль, но было бы проще сделать его похожим на обычную программу Windows (как поведение по умолчанию)
РЕДАКТИРОВАТЬ: Вы делаете это
public static void main(String... args) throws IOException {
while(true)
System.out.println(System.in.read());
}
и нажмите Tab много раз, чтобы получить
9
9
9
9
9
9
10
только после того, как вы нажмете ввод, даже если вы запустите это из xterm.