Java - charAt dar la vuelta a una cadena

   
Vista:

charAt dar la vuelta a una cadena

Publicado por Miguel (6 intervenciones) el 22/01/2015 03:09:26
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public String cadenaAlRevesSinAuxiliar(String s)
    {
        int i = 0;
        int j = s.length() -1;
        char aux;
        while(i < j)
        {
 
            aux = s.charAt(j);
            s.charAt[j] = s.charAt(i);
            s.charAt(i) = aux;
 
            i++;
            j--;
        }
        return s;
    }

la cosa es crear un metodo sin poder usar una variable en plan de la cadena String creo otra variable String y le vou pasando los caracteres .... para asi darle la vuelta.... Bueno pues eso no puedo hacerlo. Me dicen q lo haga de esta manera ,, pero me esta dando problemas el s.char(i) = s.charAt(i); nose por que pero me sale un error y nose como se pone realmente
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Nacho

charAt dar la vuelta a una cadena

Publicado por Nacho (27 intervenciones) el 22/01/2015 03:36:17
Amigo, no entiendo que pides, puedes intentar expresarte de otra manera, no se si yo soy muy tondo o que, pero la verdad no entiendo cual es tu pregunta (ni siquiera veo el signo de pregunta)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

charAt dar la vuelta a una cadena

Publicado por Miguel (6 intervenciones) el 22/01/2015 04:04:49
no seguramente soy yo .. es que no se ni como formular la pregunta XD.

la cosa es que con ese codigo el copilador me da error en la parte de ....
s.charAt(j) = s.charAt(i); y no se el por que
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Nacho

charAt dar la vuelta a una cadena

Publicado por Nacho (27 intervenciones) el 22/01/2015 05:30:21
Pasa lo siguiente:

charAt(x) es un método no una variable tu no puedes asignarle un valor a un método. por eso te lanza error.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Edwin

charAt dar la vuelta a una cadena

Publicado por Edwin (1 intervención) el 22/01/2015 08:26:43
public static String invertirCadena(String cadena){
// Concatenamos los caracteres desde el final hasta el principio
// dejandolos al final en la cadena
// Ejemplo: Hola. Quedaria de la siguiente manera; HolaaloH
for (int i = cadena.length()-1; i >= 0; i--) {
cadena += cadena.charAt(i);
}

// ahora la cadena tiene el doble de caracteres, por ello
// le eliminamos la mitad al inicio con la funcion substring
cadena = cadena.substring(cadena.length()/2);
return cadena;
}

Esto entendi que necesitabas, invertir una cadena sin utilizar variables auxiliares, espero te sirva. saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

charAt dar la vuelta a una cadena

Publicado por Miguel (6 intervenciones) el 22/01/2015 12:21:53
muchas gracias la verdad que tu esplicacion se ve bastante clara pero esa forma de hacerlo me dijeron q no ...q por leches debia hacerlo mas omenos como el ejemplo que puse :(
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

charAt dar la vuelta a una cadena

Publicado por Tom (909 intervenciones) el 22/01/2015 13:18:19
Copio y pego de la documentación de Java, que deberías leer:

"Strings are constant; their values cannot be changed after they are created. String buffers support mutable strings."

Esto quiere decir que no hay forma de modificar el contenido de un objeto String una vez creado. Por ello, cualquier método que aparentemente modifica un string, en realidad está creando y retornando un nuevo objeto sin hacer ningún cambio al original.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

charAt dar la vuelta a una cadena

Publicado por Miguel (6 intervenciones) el 23/01/2015 02:05:40
Se que al modificar un String es como si crearas uno nuevo... la cosa es que no quieren la solucion del String/2 de todas formas ya encontre una forma que mas omenos se asemeja a lo que andaba buscando muchas gracias por vuestras respuestas y lo siento estoy aprendiendo aun.

public String sampleMethod(String s)
{
StringBuilder sb = new StringBuilder(s);
int i = 0;
int j = s.length()-1;
char aux = ' ';

while(i < j)
{
aux = s.charAt(j);
sb.setCharAt(j, s.charAt(i));
sb.setCharAt(i, aux);

i++;
j--;
}
String e = sb.toString();
return e;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar