Я хочу, чтобы пользователь ввел имя актера: Том Хэнкс

Я пытаюсь преобразовать строку «Том Хэнкс» в массив.

Однако я хочу оставить пробел между буквами «м» и «т». поэтому массив будет читать:

{"Том Хэнкс"}

Затем вводимые пользователем данные сравниваются с ответом в программе. письмо за письмом.

Учитывая, что пользователь вводит пробел, я собираюсь преобразовать имя строки в массивы и сравнить их, например, с пробелом и всем остальным.

Вот код, который у меня есть

    String x;

    System.out.println("Please input a name");
    x = input.next(); 

    //the user enters in "tom hanks"

    String[] a = x.split("\\b");

Это создаст только массив {"t", "o", "m"}

Любая помощь будет очень признательна, заранее спасибо.

0
user3120133 22 Май 2014 в 19:52

2 ответа

Лучший ответ

Используйте пустую строку в качестве выражения регулярного выражения для разделения строки:

String str = "alan smith";
String[] letters = str.split("");

Например:

String str = "alan smith";
String[] letters = str.split("");
for (int i = 0; i < letters.length; i++)
    System.out.print(letters[i] + " ");

Выход:

a l a n   s m i t h 

ИЗМЕНИТЬ :

Кажется, что этот метод сначала генерирует пустой токен.

1
rendon 22 Май 2014 в 16:03

Вместо этого вы должны преобразовать свою строку в массив символов

char[] charArray = str.toCharArray();

Вы можете получить к нему доступ как к обычному массиву.

3
coder hacker 22 Май 2014 в 15:55