У меня есть следующий код для интерактивного анализа System.in для нажатия клавиш со стрелками:
Scanner sc = new Scanner(System.in);
String str;
if ((str = sc.findWithinHorizon("\\G\\033\\[C", 0)) != null)
System.out.println("RIGHT ARROW");
else if ((str = sc.findWithinHorizon("\\G\\033\\[D", 0)) != null)
System.out.println("LEFT ARROW");
, когда я нажимаю первую стрелку вправо, все идет хорошо, но когда я нажимаю первую левую стрелку, findWithinHorizon зависаетожидание большего ввода, в то время как он должен потерпеть неудачу и вернуть ноль.
При таком поведении я не вижу, как использовать эту технику для программирования общего синтаксического анализатора сопоставления с образцом.
Любые подсказки?
спасибо, Франческ