Вопросы к Поиску с Алисой
Разница между методами next() и findInLine() класса Scanner в Java заключается в их функциях.
Метод next() находит и возвращает следующий полный токен из сканера. docs.oracle.com Перед токеном и после него есть ввод, который соответствует шаблону разделителя. docs.oracle.com Этот метод может блокировать ожидание ввода, даже если предыдущий вызов hasNext() вернул true. docs.oracle.com
Метод findInLine() пытается найти следующее вхождение указанного шаблона, игнорируя разделители. docs.oracle.com Если шаблон найден перед следующим разделителем строк, сканер продвигается мимо соответствующего ввода и возвращает строку, соответствующую шаблону. docs.oracle.com Если во вводе до следующего разделителя строк нет такого шаблона, то возвращается null, а позиция сканера остаётся без изменений. docs.oracle.com
Таким образом, next() фокусируется на следующем токене, соответствующем шаблону разделителя, в то время как findInLine() ищет токен, соответствующий заданному шаблону, без учёта разделителей. docs.oracle.com docs.oracle.com