Почему я получаю исключение ArrayIndexOutOfBoundsException, когда пытаюсь токенизировать ввод с консоли (Java)? - PullRequest
1 голос
/ 08 июля 2020

Я пытаюсь разделить ввод с консоли, используя метод разделения, а затем помещаю каждое из этих значений в отдельные контейнеры, и я продолжаю получать эту ошибку: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1. Я предполагаю, что проблема в том, что он игнорирует ввод после первого пробела, но я не знаю, почему и как это решить.

Может ли кто-нибудь сказать мне, что я делаю не так, и посоветовать, что мне делать чтобы текст после пробела хранился в моем контейнере? Заранее спасибо.

    Scanner s = new Scanner(System.in);

    System.out.println("Input the name and phone no: ");
    String text = s.next();

    String[] temp = text.split(" ");

    String name = temp[0];
    String phoneNoTemp = temp[1];

    System.out.println(name + ": name");
    System.out.println(phoneNoTemp + ": phoneNoTemp");

Вход, с которым я его пробовал, был:

Input the name and phone no: 
kate 99912222

Примечание: Да, я импортировал сканер

1 Ответ

0 голосов
/ 08 июля 2020

Попробуйте использовать s.nextLine() вместо s.next(), потому что метод next() потребляет только до следующего разделителя, который по умолчанию равен любому пробелу.

...