В платформе Java XShell backspace отображается как ^H, а Delete - как ^[[3~

Я пытаюсь ввести пользовательский ввод на Java изнутри платформы XShell. Мне нужно получить ввод как действительное целое число от 0 до 2147483647. Я принимаю ввод с помощью BufferedReader.

      BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String input;
try {
      input = reader.readLine();
} catch(IOException e) {
      System.out.print(e)
}

Есть некоторые проблемы, с которыми я сталкиваюсь при вводе данных:-

  1. Пока набираю ввод, его не видно. Итак, я распечатываю ввод после того, как получил его от пользователя, чтобы пользователь мог видеть то, что он предоставил во вводе.
  2. Ключи, отличные от буквенно-цифровых, регистрируются как клавиши Control+. Подобно тому, как backspace идет как ^H, удалите как ^[[3~ и клавиши направления как некоторые другие символы. Используя манипуляции со строками, я смог обработать backspace, но обработка всех клавиш кажется громоздким процессом.

Пожалуйста, дайте мне знать, если есть способ лучше!

0 ответов

Другие вопросы по тегам