Invertir una cadena con reverse en Java

13/Dic/2010 Java , , 14 Comentarios

En el artículo Invertir una cadena con Java veíamos como realizar un código que nos permitiese dar la vuelta a una cadena mediante un bucle for.

Si bien, tenemos otras opciones, por ejemplo utilizando el .reverse() de un StringBuffer.

Definimos el String y lo cargamos en el StringBuffer:

  1. String cadena= "abuelita, abuelita";
  2. StringBuilder builder=new StringBuilder(cadena);

Ejecutamos el .reverse() del StringBuffer y convertirmos el StringBuffer en una cadena mediante el método .toString()

  1. String sCadenaInvertida=builder.reverse().toString();

Algo muy sencillo y útil.

Vídeos sobre Java


14 comentarios en “Invertir una cadena con reverse en Java”

Víctor Cuervo

Miguel

Saben como puedo poner carecteres como en modo espejo?

Víctor Cuervo

Nemesio

Escribiendo “OEF YOS” en un papel y poniendolo delante del espejo.

Víctor Cuervo

naybe

hola como invertir una cadena q diga text en recursivo
gracias..

Víctor Cuervo

Víctor Cuervo

@naybe, el código para invertir una cadena de forma recursiva sería.

public String reverse(String palabra) {

	if (palabra.length() == 1)
		return palabra;
	else 
		return reverse(palabra.substring(1)) + palabra.charAt(0);
	
}

Esperamos publicarlo pronto en la web.

Víctor Cuervo

Víctor Cuervo

@Jyrki69,

Yo he probado tu código y funciona perfectamente. ¿Cómo estás obteniendo los datos de la consola? Quizás esté ahí el error. Yo he cambiado la asignación de texto por

texto = “Hola como estas?”;

y funciona perfectamente.

Saludos.

Víctor Cuervo

Jyrki69

si requiero invertir una frase

String texto, texto_alr;
System.out.println(“Ingrese una palabra o texto: “);
texto = leer.next();
StringBuilder alreves = new StringBuilder(texto);
texto_alr=alreves.reverse().toString();
System.out.println(“La palabra o texto alreves es: ” +texto_alr);

Mi frase es: Hola como estas?

solo me invierte la primera palabra = aloH
¿Por que no me muestra toda la cadena insertada?

Víctor Cuervo

ronnie

Documento sin título

public class combinaciones {
public static void c (String cadena,String compuesto) {
if (cadena.length()>0) {
for (int x=0;x<cadena.length();x++) {
c(cadena.substring(0, x)+cadena.substring(x+1,cadena.length()),compuesto+cadena.charAt(x));
}
}
if (cadena.length()==0)
System.out.println(compuesto);
}
public static void main(String[] args) {
c("1234","");
}
}

he llegado hasta aqui por favor ayudame

Víctor Cuervo

ronnie

hola disculpa pero me podrias ayudar con el cuerpo completo para invertir una cadena. me enviaron un deber en la que con dos cuadros de texto y un boton logre que los numeros del primer texto cambien su orden al segundo en el caso 1234 a 4321 pero no solo con estos valores sino con cualquier numero.

Víctor Cuervo

ana

aah, si gracias finalmenre pudeee 🙂

Víctor Cuervo

ana

sii no importa qe no tenga sentido solo qe la desacomodee & si me sirvee algo asi habia empezado solo qe algunas cositas la tenia diferente pero gracias “.

& tambien tengo una duda
para desacomodar una frasee?

“la casa es roja” y qe salga tampoco importa el orde “roja casa es la” etc

se puedeee?

Víctor Cuervo

Víctor Cuervo

Seria parecido al anterior. Pero con palabras, en vez de numeros. Luego lo cambio y te pongo como sería.

Pero la idea seria meter las palabras en un array y empezar a jugar con ellas.

Víctor Cuervo

Víctor Cuervo

@ana,

Pero, te da igual que tenga sentido la frase o no? Es decir, solo buscas la combinatoria?

A ver si te sirve el siguiente código:

public class combinaciones {
	
  public static void c (String cadena,String compuesto) {		
    if (cadena.length()>0) {
      for (int x=0;x<cadena.length();x++) {
        c(cadena.substring(0, x)+cadena.substring(x+1,cadena.length()),compuesto+cadena.charAt(x));				
      }
    }
		
    if (cadena.length()==0)
      System.out.println(compuesto);		
  }
		
  public static void main(String[] args) {
    c("1234","");
  }
}

Lo he escrito directamente… intentaré ponerlo bien en la web.

¿Te sirve?

Víctor Cuervo

ana

Si quisiera combinar una palabra o una frase como “casa” “asca” “asca” etcc.. convinaciones

o en frase “el gato es negro” “gato el negro es” “el es negro gato” etcc combianaciones

hay un metodo para esoo?¿¿

o qe pudiera utilizar

Víctor Cuervo

karmen

Marco

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*