Ответ 1
Это работает с помощью java.util.Scanner и будет выполнять несколько "enter" нажатий клавиш:
Scanner scanner = new Scanner(System.in);
String readString = scanner.nextLine();
while(readString!=null) {
System.out.println(readString);
if (readString.isEmpty()) {
System.out.println("Read Enter Key.");
}
if (scanner.hasNextLine()) {
readString = scanner.nextLine();
} else {
readString = null;
}
}
Чтобы разбить его:
Scanner scanner = new Scanner(System.in);
String readString = scanner.nextLine();
Эти строки инициализируют новый Scanner
, который читается из стандартного потока ввода (клавиатура) и считывает из него одну строку.
while(readString!=null) {
System.out.println(readString);
Пока сканер по-прежнему возвращает ненулевые данные, напечатайте каждую строку на экране.
if (readString.isEmpty()) {
System.out.println("Read Enter Key.");
}
Если клавиша "enter" (или возврат или что-то другое) подается на вход, метод nextLine()
возвращает пустую строку; проверяя, является ли строка пустой, мы можем определить, был ли этот ключ нажат. Здесь напечатан текст Read Enter Key, но вы можете выполнить любое действие, которое вы хотите здесь.
if (scanner.hasNextLine()) {
readString = scanner.nextLine();
} else {
readString = null;
}
Наконец, после печати содержимого и/или выполнения чего-либо при нажатии клавиши "enter", мы проверяем, имеет ли сканер другую строку; для стандартного входного потока этот метод будет "блокироваться" до тех пор, пока поток не будет закрыт, выполнение программы не будет завершено или не будет введен дополнительный вход.