Wczytywanie pojedynczego znaku bez potwierdzania

Wczytywanie pojedynczego znaku bez potwierdzania
CZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4
0

Witam, piszę w Javie program wyświetlający poszczególne kroki pewnego algorytmu. Chodzi o to, żeby nie wyświetlać wszystkich naraz, ale każdy kolejny krok dopiero po naciśnięciu spacji (tak, spacji a nie Entera). Zatem ma to działać tak: wyświetlenie pierwszego kroku -> naciśnięcie spacji -> wyświetlenie drugiego kroku...

Próbowałem metody read() z klasy InputStream - ona niby czyta pojedynczy znak, ale trzeba go potwierdzić wciśnięciem Entera. Czyli działa to tak: wyświetlenie pierwszego kroku -> naciśnięcie spacji -> naciśnięcie Entera -> wyświetlenie drugiego kroku... Czy jest w Javie jakiś sposób na odczytanie pojedynczego znaku spacji bez potwierdzania znakiem nowego wiersza?

Bardzo dziękuję za szybką odpowiedź, pozdrawiam

  • Rejestracja: dni
  • Ostatnio: dni
0

Program konsolowy czy GUI? Jeżeli GUI, to KeyListener powinien rozwiązać problem.

CZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4
0

Niestety, konsolowy (zapomniałem napisać).

Z tego co wiem, nie da się tego zrobić, bo Java jest z założenia przenośna między różnymi platformami... Nie wiem jak by to miało działać, przecież kiedy cokolwiek napiszemy w konsoli to trzeba to potwierdzić enterem. Ciekawe zatem, dlaczego mój laborant daje takie polecenia, cytując:

"Program powinien wyświetlać każdy następny krok po naciśnięciu spacji."

Idę z dziewczyną po ziemniaki.

iooi
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 573
0

W samej Javie się nie da i jest to bug, System.in jest buforowany i enter musi być.

CZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4
0

Tak jak sądziłem, dziękuję.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.