problema con for
Hola, a ver si alguien me puede ayudar otra vez :) con un problema q me he encontrado, espero explicarme bien ...
La cosa es, tengo q hacer un for entre dos datos q pido y q deben ser letras.
- Por un lado tengo hecha la validacion para q el String (que se llama ArIn) no tenga mas de un caracter.
- Despues he usado char ai = ArIn.charAt(0) para coger el caracter del String y pasarlo a char.
- por ultimo he hecho un int letra = ai para coger el ascii y asi poder hacer el for.
pero el problema me lo encuentro cuando quiero volver a recuperar la letra que habia metido (xq las letras entre las q hago el for las debo meter a una base) he probado haciendo String prueba = StringvalueOf(i); (la i es el contador del for) y me devuelve el ascii nada mas, como puedo obtener la letra q habia metido?
Comentar q he explicado como lo hecho tb para saber si hay alguna forma mas sencilla (he probado pasando de string a int directamente con Integer.parseInt y no iba bien xq el for no avanzaba)
gracias!
La cosa es, tengo q hacer un for entre dos datos q pido y q deben ser letras.
- Por un lado tengo hecha la validacion para q el String (que se llama ArIn) no tenga mas de un caracter.
- Despues he usado char ai = ArIn.charAt(0) para coger el caracter del String y pasarlo a char.
- por ultimo he hecho un int letra = ai para coger el ascii y asi poder hacer el for.
pero el problema me lo encuentro cuando quiero volver a recuperar la letra que habia metido (xq las letras entre las q hago el for las debo meter a una base) he probado haciendo String prueba = StringvalueOf(i); (la i es el contador del for) y me devuelve el ascii nada mas, como puedo obtener la letra q habia metido?
Comentar q he explicado como lo hecho tb para saber si hay alguna forma mas sencilla (he probado pasando de string a int directamente con Integer.parseInt y no iba bien xq el for no avanzaba)
gracias!
La solución es bien sencilla: No utilices int.
Si quieres, utilízalo y luego hazle un casting (char)variableEntera, pero para hacer un for entre dos char, suponiendo que sea de la a la z, sería:
for(char i='a';i<='z';i++)
//lo que sea
El índice i te sirve como char (al representarlo por pantalla) e incluso como entero para operaciones aritméticas o indexar arrays. Espero que te sirva.
Si quieres, utilízalo y luego hazle un casting (char)variableEntera, pero para hacer un for entre dos char, suponiendo que sea de la a la z, sería:
for(char i='a';i<='z';i++)
//lo que sea
El índice i te sirve como char (al representarlo por pantalla) e incluso como entero para operaciones aritméticas o indexar arrays. Espero que te sirva.