Java » Invertir una cadena con Java
En una de nuestras páginas, uno de nuestros visitantes nos pedía un programa sobre como invertir una cadena en Java. Vamos a ver que código necesitamos para poder hacer esto.
Lo primero es tener una cadena. Esto es sencillo:
String sCadena = "LineaDeCodigo";
La idea es muy simple. Iremos recorriendo la cadena, carácter a carácter, desde el último carácter hasta el primero. Para ello nos apoyamos en un bucle for.
for (int x=sCadena.length()-1;x>=0;x--) sCadenaInvertida = sCadenaInvertida + sCadena.charAt(x);
Para obtener el último carácter lo haremos mediante el método .length() que nos da el tamaño de la cadena y restandole uno. Esto es así ya que los caracteres de la cadena están numerados del 0 al tamaño de la cadena menos uno.
Ahora solo tendremos que volcar a consola la cadena invertida:
System.out.println(sCadenaInvertida);
Visualizar el ejemplo | Descargar el código
Artículos relacionados:






Septiembre 21, 2010 #
no funciona
Septiembre 22, 2010 #
@lulo,
Qué error te da? Qué es lo que no funciona?
Septiembre 22, 2010 #
@Angel,
Te hemos resuelto el ejercicio que nos solicitabas en
http://lineadecodigo.com/java/rotar-array/
Espero que te sea de utilidad.
Septiembre 29, 2010 #
pues el link que publicastes no funciona y despues de algunos intentos e podido resolver el proglema en un principio pensaba que era con este metodo despues de buscar en contre otra forma publico el codigo enseguida:
import java.io.*;
public class Cadena2{
public static void main(String[] args) throws IOException{
BufferedReader leer = new BufferedReader(new InputStreamReader(System.in));
String frase;
int largo, i;
System.out.println(“Digite una frase: “);
frase=leer.readLine();
largo=frase.length();
StringBuffer word = new StringBuffer(largo);
for(i=0; i<largo;i++){
word.append(frase.charAt(i));
}
for(i=0;i<largo;i++){
String temp = word.substring(0,(largo-1));
word.setCharAt(0,word.charAt(largo-1));
word.delete(1,largo);
word.insert(1,temp);
System.out.println(word.toString());
}
}
}
Octubre 1, 2010 #
buenas Pues esta execelente el codigo de la Inversion pero no se como podira apliacarla a este codigo que me tira siempre el error del -1, y no se como utilizar en ves del String en Char o algo asi la verdad no lo se muy bien.
import java.io.*;
public class CadenaInvertida
{
public static void main(String[] args)
{
char[] cadena = new char[80];
char[]sCadenaInvertida=new char[80]
int car, x = 0,i=0;
try
{
System.out.println(“Escriba una cadena de caracteres:”);
while ((car = System.in.read()) != ‘\r’ && i =0;x–)
sCadenaInvertida = sCadenaInvertida + sCadena.charAt(x);
System.out.println(sCadenaInvertida[x]);
i++;
}
while (i < cadena.length && cadena[x] != '');
}
catch(IOException ignorada) {}
}
}
Gracias de Antemano y la verdad no se mucho de progra.
Octubre 29, 2010 #
@varixela, @bryan,
Para los ejemplos de consonantes y vocales hemos creado
http://lineadecodigo.com/java/contar-las-vocales-de-una-palabra-con-java/
http://lineadecodigo.com/java/contar-las-consonantes-de-una-palabra-con-java/
Espero que os sean de ayuda ambos ejemplos.
Diciembre 13, 2010 #
[...] 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 [...]
Febrero 27, 2011 #
Disculpaaa m urge un programaa.. que llebe caracteres, nmeros y float, entiendo algo pero no me ejecuta.. si m podras ayudar acerlo xk d vdd voi a reprobar si no lo entrego el lunes… Plzzz comunkate conmigo plz!
Febrero 28, 2011 #
hola si me pudiera ayudar necesito invertir una cadena y aparte agregarle un simbolo
ejemplo : la casa
invertirla
al asac
y despues agregarle un simbolo
a/l/ a/s/a/c
muchas gracias
Octubre 26, 2011 #
Gracias, lo estaba intentando con otras formas
pero nunca se me ocurrio la concatenacion
con la cadena invertida
gracias!