elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  revertir un String
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: revertir un String  (Leído 2,644 veces)
raulcerro99

Desconectado Desconectado

Mensajes: 4


Ver Perfil
revertir un String
« en: 19 Febrero 2019, 18:35 pm »

Hola buenas, se que esto es nivel muy básico pero he estado intentado este ejercicio un dia entero y no hay forma, mi cuestión es si estaría bien planteado el siguiente ejercicio, algo falla evidentemente pero no logro saber como solucionarlo, igual simplemente esta mal y ya está, pero quería ver si me podrian echar una mano.

public String reverseString(String s){
        String inverse;
        inverse = new String();
        if (s.length() > 0){
            for(int i=s.length(); i> 0;i--){
                int x = 0;
                inverse.length(x) = inverse.length(x) + s.charAt(i);
                x++;
            }
        }
        return inverse;

No busco solucionar el ejercicio aquí, solo saber que he planteado mal y yo ya investigaré.
Muchas gracias.


En línea

srWhiteSkull


Desconectado Desconectado

Mensajes: 444



Ver Perfil WWW
Re: revertir un String
« Respuesta #1 en: 19 Febrero 2019, 18:57 pm »

Dime que haces supuestamente en estas líneas :

Código
  1. ...
  2.                int x = 0;
  3.                inverse.length(x) = inverse.length(x) + s.charAt(i);
  4.                x++;
  5. ...

Desde luego yo no lo se, pero lo que si se es que sacas bien los caracteres de atrás hacia adelante en el bucle o eso parece(ya que debería ser el tamaño de s - 1 mientras i sea mayor o igual a 0), pero esa x no pinta nada desde mi punto de vista.

Lo que si deberías hacer es leer la documentación sobre la clase String, https://courses.cs.washington.edu/courses/cse341/98au/java/jdk1.2beta4/docs/api/java/lang/String.html , y fijarte que hay un método denominado concat() que podrías usar con el nuevo string, inverse, y añadir el caracter via Character.toString(s.charAt(i)) . Recueda que concat devuelve una cadena con la concatenación por lo tanto deberás asignar eso también a inverse.

Suerte.


En línea

raulcerro99

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: revertir un String
« Respuesta #2 en: 19 Febrero 2019, 19:06 pm »

En esas lineas mi idea es que comenzando desde la posición 0 del String inverse se vayan añadiendo los carácteres, pero algo me dice que no es así.
Muchas gracias por el enlace, le echaré un vistazo, la verdad es que desconocía eso.
(no se si estaré contestando bien a esto, es la primera vez que uso el foro jeje)
En línea

animanegra

Desconectado Desconectado

Mensajes: 287



Ver Perfil
Re: revertir un String
« Respuesta #3 en: 19 Febrero 2019, 19:21 pm »

en la instrucción:

Código:
inverse.length(x)

Supuestamente estas llamando al metodo lenght del objeto inverse. Los métodos son funcionalidades que o bien devuelven datos o cambian internamente el estado de un objeto. Luego no se les puedes asignar un valor.

Por otro lado, tienes que ver si los metodos que utilizas existen en las clases de los objetos que estas instanciando.

Para abordar el problema, yo primero pasaría el objeto String original a algo que te permita acceder y manipular los caracteres. Por ejemplo un array de caracteres. Una vez que tienes eso, puedes crear otro array de caracteres de la misma longitud al que le pasas caracter a caracter cada caracter del original en orden inverso. Y despues genera un objeto String a partir del array de caracteres.
En línea


42
No contesto mensajes por privado, si tienes alguna pregunta, consulta o petición plantéala en el foro para que se aproveche toda la comunidad.
raulcerro99

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: revertir un String
« Respuesta #4 en: 19 Febrero 2019, 19:29 pm »

en la instrucción:

Código:
inverse.length(x)

Supuestamente estas llamando al metodo lenght del objeto inverse. Los métodos son funcionalidades que o bien devuelven datos o cambian internamente el estado de un objeto. Luego no se les puedes asignar un valor.

Por otro lado, tienes que ver si los metodos que utilizas existen en las clases de los objetos que estas instanciando.

Para abordar el problema, yo primero pasaría el objeto String original a algo que te permita acceder y manipular los caracteres. Por ejemplo un array de caracteres. Una vez que tienes eso, puedes crear otro array de caracteres de la misma longitud al que le pasas caracter a caracter cada caracter del original en orden inverso. Y despues genera un objeto String a partir del array de caracteres.

Voy a probar con eso que parece bastante sencillito. Tenia la duda esa de como se usaba el length, en clase había entendido otra cosa, pero ya me queda mas claro, muchas gracias.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[C] [source] Revertir Cadenas « 1 2 »
Programación C/C++
.::DoX::. 11 9,682 Último mensaje 20 Agosto 2011, 03:45 am
por BlackZeroX
W7 Revertir exploit que concede privilegios admin
Bugs y Exploits
descargar2 0 2,914 Último mensaje 11 Diciembre 2015, 03:13 am
por descargar2
Revertir ReFOX XI
Ingeniería Inversa
k!k3 1 4,162 Último mensaje 3 Junio 2017, 00:34 am
por MCKSys Argentina
[Ayuda]Hay manera de revertir takeown e icacls?
Windows
Aquastripe 2 2,952 Último mensaje 22 Octubre 2018, 02:11 am
por EdePC
Necesitamos revertir el código Intel HEX.
Ingeniería Inversa
xor.pt 1 3,457 Último mensaje 15 Junio 2020, 01:10 am
por FFernandez
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines