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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Dudas con Strings
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Dudas con Strings  (Leído 4,190 veces)
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Dudas con Strings
« en: 2 Abril 2010, 04:11 am »

Hola a todos, mi duda es sencilla.

He estado buscando una manera de modificar cierta posición de una cadena(vector[indice]), algo así:

Código:
String cadena = new String("HOLA");
cadena[0] = cadena.charAt(cadena.length() - 1);
Claro que me da error, porque son diferentes tipos de datos.

Lo que quiero es modificar el primer indice por el último caracter de la cadena.

De una manera general, tratar con las posiciones de una cadena.

Lo que intento es rotar una simple cadena, pero estoy teniendo problemas para hacerlo, siempre me da lo mismo, mi algoritmo en C funciona bien, aquí en Java no.
Código
  1. public class learn
  2. {
  3.    public static void voltear(String string)
  4.    {
  5.        char vector[] = string.toCharArray();
  6.        vector[0] = string.charAt(string.length() - 1);
  7.        for(int i = 1; i < string.length(); i++)
  8.            vector[i] = string.charAt(i - 1);
  9.        System.out.println(vector);
  10.  
  11.    }
  12.    public static void main(String []args)
  13.    {
  14.        String string = new String("HOLA");
  15.        for(int i = 0; i < string.length(); i++)
  16.        voltear(string);
  17.    }
  18. }


En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: Dudas con Strings
« Respuesta #1 en: 2 Abril 2010, 05:12 am »

Creo que lo estas haciendo a lo C :P ,en java seria algo asi

Código
  1.        StringBuffer string = new StringBuffer("Prueba");
  2.        char b=string.charAt(string.length()-1);
  3.        string.setCharAt(string.length()-1, string.charAt(0));
  4.        string.setCharAt(0, b);

Ademas de permitir ciertos metodos de cadenas como reverse();

o al menos eso creo que es lo que dices :xD

Un Saludo.


« Última modificación: 2 Abril 2010, 05:27 am por LEYER » En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Dudas con Strings
« Respuesta #2 en: 2 Abril 2010, 05:35 am »

Sí, mi problema es que quería hacer todo con la clase String, no sabía de StringBuffer.

Queda resuelto así:

Código
  1. public class learn
  2. {
  3.    public static void voltear(StringBuffer string)
  4.    {
  5.        StringBuffer temporal = new StringBuffer(string);
  6.        string.setCharAt(0, string.charAt(string.length() - 1));
  7.        for(int i = 1; i < string.length(); i++)
  8.            string.setCharAt(i, temporal.charAt(i - 1));
  9.        System.out.println(string);
  10.    }
  11.    public static void main(String []args)
  12.    {
  13.        StringBuffer string = new StringBuffer("HOLA");
  14.        System.out.println(string);
  15.        for(int i = 0; i < string.length(); i++)
  16.        voltear(string);
  17.    }
  18. }  

Gracias.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Dudas con Strings
« Respuesta #3 en: 2 Abril 2010, 10:58 am »

Sí, mi problema es que quería hacer todo con la clase String, no sabía de StringBuffer.

Queda resuelto así:

Código
  1. public class learn
  2. {
  3.    public static void voltear(StringBuffer string)
  4.    {
  5.        StringBuffer temporal = new StringBuffer(string);
  6.        string.setCharAt(0, string.charAt(string.length() - 1));
  7.        for(int i = 1; i < string.length(); i++)
  8.            string.setCharAt(i, temporal.charAt(i - 1));
  9.        System.out.println(string);
  10.    }
  11.    public static void main(String []args)
  12.    {
  13.        StringBuffer string = new StringBuffer("HOLA");
  14.        System.out.println(string);
  15.        for(int i = 0; i < string.length(); i++)
  16.        voltear(string);
  17.    }
  18. }  

Gracias.
Character.toString();
Solo digo eso ^^

Saludos
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Dudas con Strings
« Respuesta #4 en: 2 Abril 2010, 20:06 pm »

Sí, mi problema es que quería hacer todo con la clase String, no sabía de StringBuffer.

Queda resuelto así:

Código
  1. public class learn
  2. {
  3.    public static void voltear(StringBuffer string)
  4.    {
  5.        StringBuffer temporal = new StringBuffer(string);
  6.        string.setCharAt(0, string.charAt(string.length() - 1));
  7.        for(int i = 1; i < string.length(); i++)
  8.            string.setCharAt(i, temporal.charAt(i - 1));
  9.        System.out.println(string);
  10.    }
  11.    public static void main(String []args)
  12.    {
  13.        StringBuffer string = new StringBuffer("HOLA");
  14.        System.out.println(string);
  15.        for(int i = 0; i < string.length(); i++)
  16.        voltear(string);
  17.    }
  18. }  

Gracias.
Character.toString();
Solo digo eso ^^

Saludos

.... no te entiendo, ¿podrías ser más explícito?
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: Dudas con Strings
« Respuesta #5 en: 2 Abril 2010, 21:34 pm »

.... no te entiendo, ¿podrías ser más explícito?

Ell se refiere a que llamando Character.toString(); y pasandole como parametro un caracter, este sera convetido a string,

por este error aca

Código
  1. String cadena = new String("HOLA");
  2. cadena[0] = cadena.charAt(cadena.length() - 1);

aunke esta mal tambien por que estas haciendo [ 0 ] y es un string mas no un array

Un Saludo.
« Última modificación: 2 Abril 2010, 22:15 pm por LEYER » En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Dudas con Strings
« Respuesta #6 en: 2 Abril 2010, 22:07 pm »

.... no te entiendo, ¿podrías ser más explícito?

Ell se refiere a que llamando Character.toString(); y pasandole como parametro un caracter, este sera convetido a string,

por este error aca

Código
  1. String cadena = new String("HOLA");
  2. cadena[0] = cadena.charAt(cadena.length() - 1);

aunke esta mal tambien por que estas haciendo
  • y es un string mas no un array

Un Saludo.
Gracias, no tenia tiempo para ejemplificar, sorry

Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Strings en C++
Programación C/C++
Fixxed 1 1,943 Último mensaje 11 Agosto 2015, 22:20 pm
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines