Разделение входа пользователя и сохранение его в массиве - PullRequest
0 голосов
/ 19 февраля 2019

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

Например, я хочу вывести "Hello world", получаю выход за пределыисключение:

Scanner scan = new Scanner(System.in);
String command = scan.next();
String[] result = command.split(" ");
System.out.print(result[0]);
System.out.print(result[1]);

Ответы [ 2 ]

0 голосов
/ 19 февраля 2019

scan.next () получит только первый «блок», который вы ввели, поэтому он читает только «Hello», вы должны использовать scan.nextLine (), и вы получите весь «Hello World».

Однако, если вы печатаете ответ, вы напечатаете «HelloWorld»

0 голосов
/ 19 февраля 2019

Из Javadoc:

Находит и возвращает следующий полный токен с этого сканера.Полному токену предшествует ввод, соответствующий шаблону-разделителю.

Как писал Jens , проблема в том, что пробел ("") является терминатором токена, и это означает, что scan.next () получает только первое слово.Если разделитель был, скажем, тире ("-"), это работало бы с scan.next ().В любом случае, scan.nextLine () - это то, как вы хотите прочитать строку текста.

...