У меня смутные воспоминания о странных, неразрешимых проблемах давно с использованием того же Scanner
из System.in
два раза, так что это то, что я использую (хотя вы, вероятно, должны использовать только один сканер на протяжении всей программы) :
static String input() {
try {
return new Scanner(System.in).nextLine();
} catch (NoSuchElementException e) {
throw e;
}
}
По какой-то причине это работает без предупреждений, тогда как если я не сделаю бросок catch, Eclipse будет жаловаться Resource leak: '<unassigned Closeable value>' is never closed
.