589 Stimmen

Umkehrung einer Zeichenkette in Java

Ich habe "Hello World" in einer String-Variablen namens hi .

Ich muss sie ausdrucken, aber umgekehrt.

Wie kann ich das tun? Soweit ich weiß, gibt es eine Art Funktion, die bereits in Java eingebaut ist und die das tut.

Verwandt: Jedes einzelne Wort der Zeichenkette "Hello World" mit Java umkehren

1199voto

Daniel Brockman Punkte 17782

Sie können dies verwenden:

new StringBuilder(hi).reverse().toString()

StringBuilder wurde in Java 5 hinzugefügt. Für Versionen vor Java 5 wurde die StringBuffer Klasse kann stattdessen verwendet werden - sie hat die gleiche API.

122voto

Sami Eltamawy Punkte 9670

Para Probleme mit Online-Richtern die es nicht erlaubt StringBuilder o StringBuffer Sie können es schaffen an Ort und Stelle mit char[] wie folgt:

public static String reverse(String input){
    char[] in = input.toCharArray();
    int begin=0;
    int end=in.length-1;
    char temp;
    while(end>begin){
        temp = in[begin];
        in[begin]=in[end];
        in[end] = temp;
        end--;
        begin++;
    }
    return new String(in);
}

71voto

Kevin Bowersox Punkte 90706
public static String reverseIt(String source) {
    int i, len = source.length();
    StringBuilder dest = new StringBuilder(len);

    for (i = (len - 1); i >= 0; i--){
        dest.append(source.charAt(i));
    }

    return dest.toString();
}

http://www.java2s.com/Code/Java/Language-Basics/ReverseStringTest.htm

68voto

Luchian Grigore Punkte 244505
String string="whatever";
String reverse = new StringBuffer(string).reverse().toString();
System.out.println(reverse);

29voto

Vikasdeep Singh Punkte 19310

Dazu verwende ich die folgenden zwei Methoden:

Umkehrung der Zeichenfolge nach CHARACTERS:

public static void main(String[] args) {
    // Using traditional approach
    String result="";
    for(int i=string.length()-1; i>=0; i--) {
        result = result + string.charAt(i);
    }
    System.out.println(result);

    // Using StringBuffer class
    StringBuffer buffer = new StringBuffer(string);
    System.out.println(buffer.reverse());    
}

Umkehrung der Zeichenfolge durch WORDS:

public static void reverseStringByWords(String string) {
    StringBuilder stringBuilder = new StringBuilder();
    String[] words = string.split(" ");

    for (int j = words.length-1; j >= 0; j--) {
        stringBuilder.append(words[j]).append(' ');
    }
    System.out.println("Reverse words: " + stringBuilder);
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X