如何将第一个单词移到最后?

0 java string

输入一行文字.请不要标点符号.
Java是
我重写的那条
语言:Java语言

这是一个例子,我只知道char方法,但我不知道如何将第一个单词移到最后.我可以使用哪种字符串方法?

Sea*_*oyd 5

该怎么办:

  1. 使用String.split()分割句子;
  2. 从项目创建列表
  3. 重新排序列表
  4. 使用空格加入List项目

在普通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());
Run Code Online (Sandbox Code Playgroud)

使用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));
Run Code Online (Sandbox Code Playgroud)