Cómo invertir una cadena en Java palabra por palabra

Este ejemplo muestra cómo invertir una cadena palabra por palabra usando java

Sintaxis:

public static String reverse(String input){
	StringBuilder sb = new StringBuilder();
	
	String tab[] = input.split( " " );
	String sep = "";
	for( int i = tab.length-1 ; i >= 0 ; i--){
	    sb.append( sep );	
	    sb.append( tab[i] );
	    
	    sep = " ";
	}
	
	return sb.toString();
}

Ejemplo:

El siguiente código crea un método que toma una cadena en la entrada y devuelve una cadena. La entrada se divide en el carácter de espacio para separar las diferentes palabras. The String se recrea haciendo un bucle en la matriz de palabras desde el último elemento de la matriz hasta el primero. Llamar al método inverso dos veces devuelve la misma cadena.

public class StringReverseWords {

    public static String reverse(String input){
	StringBuilder sb = new StringBuilder();
	
	String tab[] = input.split( " " );
	String sep = "";
	for( int i = tab.length-1 ; i >= 0 ; i--){
	    sb.append( sep );	
	    sb.append( tab[i] );
	    
	    sep = " ";
	}
	
	return sb.toString();
    }
    
    public static void main(String[] argv) {

	String test = "This is a test of the reverse method";

	// Call reverse 
	String output = reverse( test );
	
	System.out.println( test + " => " + output );
	
	// Same test calling reverse twice
	System.out.println( test + " => " + reverse( test ) + " => " + reverse(reverse( test )) );
    }

}

El resultado será:

	
This is a test of the reverse method => method reverse the of test a is This
This is a test of the reverse method => method reverse the of test a is This => This is a test of the reverse method
	

Referencias

Java String

Comentarios Recientes