Я пытаюсь взять многострочный пользовательский ввод в Java и разделить строки на array
, мне это нужно, чтобы решить проблему для онлайн-судьи. Я использую Scanner
для ввода. Я не могу определить конец ввода. Я всегда получаю бесконечный цикл, так как я не знаю размер ввода (то есть количество строк)
Завершение ввода пустой строкой (нажатие клавиши ввода) по-прежнему является бесконечным циклом. Код указан ниже.
public static void main(String[] args) {
ArrayList<String> in = new ArrayList<String>();
Scanner s = new Scanner(System.in);
while (s.hasNextLine() == true){
in.add(s.nextLine());
//infinite loop
}
}
Я даже не уверен, почему цикл выполняется в первый раз. Я полагаю, что hasNextLine()
должен быть ложным в первый раз, так как не было получено никаких данных. Любая помощь или разъяснения приветствуются.