Использование ArrayList для пользовательского ввода - PullRequest
0 голосов
/ 26 июня 2018

Я хочу разрешить пользователю вводить строки до тех пор, пока не будет введена пустая строка, и хранить строки в ArrayList. У меня есть следующий код, и я думаю, что это правильно, но, очевидно, нет.

String str = " "; 
Scanner sc = new Scanner(System.in);
ArrayList<String> list = new ArrayList<String>();     
System.out.println("Please enter words");
while (sc.hasNextLine() && !(str = sc.nextLine()).equals("")) {
    list.add(sc.nextLine());
} 

for(int i=0; i<list.size(); i++) {
    System.out.println(list.get(i));
}

1 Ответ

0 голосов
/ 26 июня 2018

Вы потребляете следующую строку еще раз, как только можете, вызывая один раз sc.hasNextLine(), но дважды sc.nextLine().
Вместо этого вызовите один раз nextLine(), а затем используйте переменную, в которой вы сохранили результат, для извлечения строки чтения:

while (sc.hasNextLine() && !(str = sc.nextLine()).equals("")) {
    list.add(str);
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...