Este ejemplo muestra cómo invertir una cadena palabra por palabra usando java
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(); }
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 )) ); } }
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