Как мне переместить первое слово в конец? - PullRequest
0 голосов
/ 25 января 2011

Введите строку текста. Без знаков препинания, пожалуйста.
Ява - это язык
Я перефразировал эту строку следующим образом:
Является ли язык Java

Это пример, и я знаю только метод char, но я не знаю, как переместить первое слово в конец. какой метод строки я могу использовать?

Ответы [ 3 ]

5 голосов
/ 25 января 2011

Что делать:

  1. Разбить предложение, используя String.split ();
  2. Создать список из предметов
  3. Изменить порядок списка
  4. Присоединиться к элементам списка через пробел

Реализация на простом Java:

final String s = "Java Is The Language";
final List<String> list =
    new ArrayList<String>(Arrays.asList(s.split("\\s+")));
list.add(list.size() - 1, list.remove(0));
final StringBuilder sb = new StringBuilder();
for(final String word : list){
    if(sb.length() > 0){
        sb.append(' ');
    }
    sb.append(word);
}
System.out.println(sb.toString());

Реализация с использованием Guava :

final String s = "Java Is The Language";
final List<String> list =
    Lists.newArrayList(Splitter
        .on(CharMatcher.WHITESPACE)
        .omitEmptyStrings()
        .split(s));
list.add(list.size() - 1, list.remove(0));
System.out.println(Joiner.on(' ').join(list));
2 голосов
/ 25 января 2011

Я думаю Вы имеете в виду Java (а не JavaScript):

final String delimiter = " ";
String input = /* whatever */;
String[] tokens = input.split(delimiter);
String output = "";
for (int i = 1; i<tokens.length; i++)
{
    output += input[i] + delimiter;
}
output += tokens[0];
System.out.println(output);

Кстати, этот код может / будет выглядеть очень похоже на JavaScript:

var delimiter = " ",
    input = /* whatever */,
    tokens = input.split(delimiter),
    output = [],
    len = tokens.length,
    i;

for (i = 1; i<len; i++)
{
    output.push(input[i]);
}
output.push(tokens[0]);
output = output.join(delimiter);
alert(output);
1 голос
/ 25 января 2011

Подстрока, indexOf и длина. Попробуйте это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...