Scanner.nextLine() не возвращает значениеJAVA

Программисты JAVA общаются здесь
Anonymous
Scanner.nextLine() не возвращает значение

Сообщение Anonymous »

У меня есть этот код, который работал, когда я его создал около 10 лет назад, но в какой-то момент за последние 5 лет, кажется, перестал работать должным образом:

Код: Выделить всё

public class Console extends Module {
Scanner scanner = new Scanner(java.lang.System.in);

{
scanner.useDelimiter(java.lang.System.getProperty("line.separator"));
}

public boolean readString(ActionParam value) {
java.lang.System.out.println("Reading line");
value.set(scanner.nextLine());
java.lang.System.out.println("Done Reading line: "+value.get());
return true;
}
}
Проблема в том, что программа никогда не возвращается из Scanner.nextLine().
Я добавил операторы печати, чтобы гарантировать, что это не что-то еще, и я добавил блок инициализации useDelimiter(...) на случай, если он связан с разделителями...
Я использую:

Код: Выделить всё

openjdk version "11.0.14" 2022-01-18 LTS
OpenJDK Runtime Environment Zulu11.54+23-CA (build 11.0.14+9-LTS)
OpenJDK 64-Bit Server VM Zulu11.54+23-CA (build 11.0.14+9-LTS, mixed mode)
У кого-нибудь есть идеи, что может привести к изменению поведения сканера (при использовании MacOS с чипом M2).

Подробнее здесь: https://stackoverflow.com/questions/790 ... ng-a-value

Вернуться в «JAVA»