使用Java' sstringbuilder

时间:2016-09-29 05:13:45

标签: java string reverse stringbuilder stringbuffer

我使用Java开发一个小项目。

我想要String反向。 如果我进入"我是一个女孩",印刷逆转...

我已经尝试使用StringBuilder。 我也用StringBuffer语法写它... 但我失败了...... 它没有打印出我的愿望......

WISH

我的打印 - > "我是一个"

"我是一个女孩" - > "我是一个" REVERSE !!

我该怎么办?..

请帮帮我谢谢〜!!!

public String reverse() {        
    String[] words = str.split("\\s");       
    StringTokenizer stringTokenizer = new StringTokenizer(str, " ");

    for (String string : words) {
        System.out.print(string);
    }

    String a = Arrays.toString(words);

    StringBuilder builder = new StringBuilder(a);

    System.out.println(words[0]);

    for (String st : words){
        System.out.print(st);
    }

    return "";     
}

2 个答案:

答案 0 :(得分:4)

执行此操作的Java 8代码:

public static void main(String[] args) {
    String str = "I am a girl";
    StringBuilder sb = new StringBuilder();
    // split() returns an array of Strings, for each string, append it to a StringBuilder by adding a space.
    Arrays.asList(str.split("\\s+")).stream().forEach(s -> {
        sb.append(new StringBuilder(s).reverse() + " ");
    });
    String reversed = sb.toString().trim(); // remove trailing space
    System.out.println(reversed);
}

O / P:

I ma a lrig

答案 1 :(得分:1)

如果您不想使用lambda,那么您也可以尝试此解决方案

String str = "I am a girl";
        String finalString = "";
        String s[] = str.split(" ");
        for (String st : s) {
            finalString += new StringBuilder(st).reverse().append(" ").toString();
        }
        System.out.println(finalString.trim());
    }