Cómo sacar cada caracter de un String ?

Moi
04 de Abril del 2010
Hola!!!
Estoy urgido con una tarea, talvez sea algo muy sencillo, pero no sé cómo lograrlo. Necesito sacar cada caracter de un String para luego compararlo con otro valor.
Les agradesco montones.

ruben_7
04 de Abril del 2010
String cadena = "Hola";
Un string es como un array de caracteres, entonces la instrucción:
cadena.charAt(0); <--- devuelve el caracter "H"
cadena.charAt(3); <--- devuelve el caracter "a"
Lo de comparar caracteres no estoy muy seguro de cómo se haga en Java. Suerte.

james Humberto
04 de Abril del 2010
Soy un experto en String.
lo que usted necesita es almacenar en un array cada letra y luego compararla con lo que usted quiera.
Ejemplo:
String nombre = JAMES;
Array almacen [ ] = new almacen [ 5 ];

//llenamos el array con todas las letras

for(int i=0; i<nombre.length(); i++) {
almacen [ i ] = nombre.charAt( i );
}

ya tenemos cada letra en cada posicion del array
lo unico que falta es comparar pero no te entiendo con que lo queres comparar si necesitas ayuda escribame al correo y listo.

eth0
04 de Abril del 2010
¿Experto en String? Entonces, ¿cómo explicas esto?

String nombre = JAMES;

¿Dónde están las comillas? Ah, claro, debe ser una constante.

O mejor: ¿por qué sugerir un bucle como ese cuando tienes el método toCharArray que hace lo mismo directamente (y en una sola línea)?

Si lo que quieres es comprobar si cierto carácter se encuentra en el String, lo mejor es usar el método indexOf del objeto String.

Y si lo que quieres es contar el número de veces que aparece un carácter en el String, mejor usa esto:

String cadena = "Queremos contar las veces que aparece la letra e.";
char letra = 'e';

char[] letras = cadena.toCharArray();
int contador = 0;

for (int i = 0; i < letras.length; ++i)
{
if (letra == letras[i])
{
contador++;
}
}

Por cierto, experto, ¿qué forma es esa de definir arrays?

abitail
04 de Abril del 2010
hola !!! yop toi interesada en algo similar solo que lo que quiero es compararlo con otra cadena y encontrar las que no sean igales asi como ejemplo samuel y samanta la le asigno a samuel la S y a samanta la A pero no puedo hacer eso po que si lo hago con if me corree hasta que termina la cadena... adyudenme porfavor se los agradecer muchisimo

jagc706
04 de Abril del 2010
hola hola abitail......
lo que puedes hacer para comparar cada caracter de un String es primero.. pasarlo a un vector de caracteres(osea tipo char)..... ya con el vector con un bucle for puedes recorrer el vector y comparar cada posicion con la posicion de otro vector o de una variable que tenga un solo caracter ;)..

asdf
04 de Abril del 2010
Si sólo quiere comparar un caracter de una cadena
no se para que crear un array de caracteres e insertar
los caracteres de la cadena en los elementos
del array.

for(int i=0; i<nombre.length(); i++)
{
if (nombre.charAt( i ) = ='a ')
{
// Código
}
}

El string se puede recorrer como un array o acceder
a un caracter determinado. El crear un Array sólo para
esto es gastar memoria innecesariamente. En un
programita no importa, pero en un sistema mayor
esto no seria nada bueno.

Saludos

:b?
04 de Abril del 2010
Tal vez, puedes pensar tambien en usar un StringTokenizer, que es una cadena ya sea d' caracteres, enteros, reales, etc. busca info en algun libro, ya q' cuenta con varias funciones, como por ejemplo el nextToken() q' te va dando cada token(elemento) de la cadena, o el hasMoreTokens(), que te va dando todo el string hasta vaciarlo, en fin tiene un comportamiento interesante, y te evitas pasar todo a un arreglo, y ocupar memoria, como te recomiendan.
Saludos!

nicokiki
04 de Abril del 2010
Hola!!!!!!!!!!!

charAt()


Salu2!!!!!!!