Search code examples
javastringreversestringbuilderstringbuffer

String reverse using Java'sstringbuilder


I develop using Java to make a little project.

I want String reverse. If I entered "I am a girl", Printed reversing...

Already I tried to use StringBuilder. Also I write it using StringBuffer grammar... But I failed... It is not printed my wish...

WISH

My with Print -> "I ma a lrig"

"I am a girl" -> "I ma a lrig" REVERSE!!

How can I do?..

Please help me thank you~!!!

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 "";     
}

Solution

  • Java 8 code to do this :

    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