Convertir una cadena en un array de caracteres con Java

14/Feb/2009 Java , , , 25 Comentarios
java

Al convertir una cadena en un array de caracteres con Java podremos manipular cada uno de los carácteres de forma independiente y aplicarles la operativa o validaciones que necesitemos.

Así, lo primero será definir la cadena de texto y el array de caracteres al que volcaremos la cadena.

  1. String sCadena = "Esto es una cadena de texto";
  2. char[] aCaracteres;

Para convertir una cadena en un array de caracteres con Java tendremos que utilizar el método .toCharArray sobre la cadena de texto y asignarselo al array de caracteres.

  1. char[] aCaracteres = sCadena.toCharArray();

Ahora ya podremos manipular el array a nuestro antojo. Por ejemplo, podemos recorrerlo para mostrarlo por pantalla:

  1. for (int x=0;x<aCaracteres.length;x++)
  2. System.out.println("[" + x + "] " + aCaracteres[x]);

Vídeos sobre Java


Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

25 comentarios en “Convertir una cadena en un array de caracteres con Java”

Víctor Cuervo

asd

Lo unico que se me ocurre es que encierres cada numero en parentesis y lo multipliques por 1 obligando asi que obligues a considerar el 27 en numero

Víctor Cuervo

ramiro

Hola, tengo una duda que quizá es muy tonta pero no puedo dar con el problema.
bien este es el codigo:

var asd= “0+27+27″;
alert(asd);

Lo que quiero lograr es que me de 54.
pongo este ejemplo del problema pero en realidad la variable ‘asd’ me genera una ecuación a lo largo de todo el día en mi web por lo que la variable ‘asd’ baria su longitud en el día ejemplo:

asd=”0+37+54+27+78+100+2” la ecuación se me genera sumando y es aleatoria pero siempre arranca con el valor 0.

alguna idea?

Víctor Cuervo

NULL

Asi no trabaja con esa funcion, no existe ese algo que le de a entender a la computadora lo que quieres hacer y esta tampoco lo va a adivinar, te recomendo que veas el tema de notacion postfija esta te permite resolver este tipo de problenas, solo que necesitaras de Estrucuras de datos suerte.

Víctor Cuervo

Ricardo

Hola buen día
Me podrían ayudar con este problema.

Necesito un programa que determine si una palabra es palindromo, al iniciar el programa le pide al usuario determinar el tamaño del arreglo, el arreglo es de tipo char, también el usuario ingresará los caracteres al arreglo, lo que necesito es saber si los caracteres que ingresa son un palindromo, espero puedan ayudarme Gracias!!

Víctor Cuervo

Rigo

Buenas tardes alguien me puede ayudar por favor

Quiero sumar dos cadenas X,Y
Convirtiendo en enteros y sumar el último carácter de X con el último carácter de Y
El penúltimo de X con el penúltimo de Y y mostrar el resultado en cadena por ejemplo X=123
Y=456
Y al sumar q muestre carácter por carácter
Primero 5 luego 7 y después 9
Osea
579
Si alguien me ayudara por favor

Víctor Cuervo

Yo

Que bien, Muchas gracias 😀

Víctor Cuervo

Claudia

Como podría buscar una palabra en especifico de ese array?

Víctor Cuervo

Víctor Cuervo

Hola Claudia,

En este ejemplo el array es de caracteres y no de palabras. Pero si lo que quieres es buscar una palabra dentro de una cadena deberás de utilizar el método .indexOf(). Si la palabra está en la cadena ese método devuelve un entero con la posición en la que está la palabra, si no devuelve un -1.

El código sería algo así:

// Texto
String sTexto = "palabra o palabra y palabra";
// Texto que vamos a buscar
String sTextoBuscado = "palabra";

int posicion;
posicion = sTexto.indexOf(sTextoBuscado);

if (posicion > -1)
  System.out.println("La palabra está en la posición " + posicion);
else
  System.out.println("No se encuentra la palabra");

Puedes ver más información de .indexOf() en http://www.w3api.com/wiki/Java:String.indexOf() y yo te recomendaría que echases un ojo al artículo Contador de Ocurrencias http://lineadecodigo.com/java/contador-de-ocurrencias-en-java/

Espero haberte orientado.

Saludos.

Víctor Cuervo

Editson Jose Carrasco

necesito hacer un programa q multipique dos decimales declarar la variaebles String, que de error al ingresar un caracter no numerico y no usar el metodo intege.pareInt. estoy viendo clases de excepciones. espero me puedas ayudar

Víctor Cuervo

Víctor Cuervo

Buenas,

Para decimales deberías de utilizar double o float. Podría ser algo así el código:

String s1 = "1.3";
String s2 = "2.4";
	
Float f1 = Float.parseFloat(s1);
Float f2 = Float.parseFloat(s2);
		
System.out.println(f1*f2);

A ver si te sirve. Saludos.

Víctor Cuervo

Víctor Cuervo

@jonathan leon, puedes invertir una cadena mediante el método reverse del StringBuffer. Tienes un ejemplo en http://lineadecodigo.com/java/invertir-una-cadena-con-reverse-en-java/

Espero que te sea de ayuda.

Víctor Cuervo

jonathan leon

me podrian ayudar como hago para que me muestre el resulatado al reves cuando imprima… por ejemplo hola mundo… que lo recorra e imprima odnum aloh… urjente por favor 🙁 es como un estilo de pila

Víctor Cuervo

Mauricio

Para mostrar un texto a su inverso
valor = new StringBuffer().append(valor).reverse().toString();
donde valor es una variable String.-

Víctor Cuervo

Víctor Cuervo

Muy bien explicado Mauricio. Muchas gracias.
Jonathan lo tienes más detallado en http://lineadecodigo.com/java/invertir-una-cadena-con-reverse-en-java/ Espero que te sea de utilidad.

Saludos.

Víctor Cuervo

Víctor Cuervo

@Kasdaya,

Que quieres comprobar, ¿que el contenido de los dos arreglos sea el mismo en las mismas posiciones?

Víctor Cuervo

Kasdaya

Hola disculpen alguien sabe como podria comparar los caracteres en un arreglo?
Gracias

Víctor Cuervo

Pachu

necsito hacer un arreglo que tenga un 20 espacios de caracteres para un nombre y 20 espacios de caracteres para apellido!!! y que los espacios q me sobran cuando llamo a ver el nombre y apellido que me aparescan en blanco!!! primero como pasar el nombre q es un string a caracteres

Víctor Cuervo

lineadecodigo

@diego,

Es sencillo. Lo que quienes que hacer es recorrer el array e ir añadiendo el contenido a una cadena.

Algo así…

String cadena = “”;
for (int x=0;x<miarray.length;x++){
cadena =cadena+miarray[x];
}
System.out.println(cadena);

Me pongo manos a la obra para publicarlo en la web esta semana.

Víctor Cuervo

diego

alguien sabe como puedo un arreglo pasarlo a un string, por ejemplo aux=[0 1 0] convertirlo en bin=010. gracias

Víctor Cuervo

juan

oye yo tengo la duda de como comparar un arreglo de cadena caracteres con una cadena de caracteres espero puedan sollucioar mi duda soy nuevo en esto de java soy estudiante y pues espero respuesta bye

Víctor Cuervo

lineadecodigo

@Sergio Valdez,

¿No es eso lo que pone? ¿O me perdí en algún punto? 😉

Víctor Cuervo

lineadecodigo

@Fhernd,

Apuntado… La verdad que sí da más claridad… 🙂

Víctor Cuervo

Sergio Valdez

oseria mas facil si hicieras algo como:

String sCadena = “Esto es una cadena de texto”;
char[] aCaracteres = sCadena.toCharArray();

Víctor Cuervo

pplouis

ya le entendi perfecto, thanks!

Víctor Cuervo

Fhernd

Hola! Una sugerencia en cuanto a legibilidad del código: Las tres piezas de la instrucción for se leerían más fácil de la siguiente manera:

for ( int x = 0 ; x < a.caracteres.length ; ++x )

Es decir, agregar espacios. Bueno esto facilitará la lectura del código…

¡Hasta pronto!

¿Algo que nos quieras comentar?

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

*


*