J'ai le code suivant pour analyser de manière interactive pour System.in flèche: pressions sur les touchesfindWithinHorizon continue la lecture alors qu'il tombe en panne
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");
quand je presse d'abord la droite du tout va bien, mais quand je presse la première gauche, findWithinHorizon se bloque en attente de plus d'entrée alors qu'il devrait échouer et retourner null.
Avec ce comportement, je ne vois pas comment utiliser cette technique pour programmer un analyseur de correspondance de modèle général.
Des indices?
grâce, Francesc
Je considérerais une approche différente, peut-être quelque chose conçu pour travailler avec une clé à la fois (et prendre soin de la mise en mémoire tampon, ou le manque de, ou autre) - c'est * accepter les données * et * agir sur lui. Ceci est assez similaire à un blocage de serrure A B/B A. –