marzo 07, 2012

Manejo de Cadenas: charAt()

Como sabemos el tipo de dato String es para cadenas de caracteres, por tanto una variable de tipo String almacena una cadena. Estas cadena de caracteres puede ser de 0 caracteres (cadena en blanco) o más caracteres; Y los caracteres de una cadena tienen un indice, es decir, tienen un numero de orden. Los elementos (caracteres) de una cadena se enumeran de una forma muy parecida a la que se enumeran los elementos de un arreglo, desde la posición 0 hasta la posición "n".

Por ejemplo la cadena de caracteres: "Buenas intenciones" contiene 18 caracteres, y estos están enumerados del 0 al 17, es decir:


0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
B
U
E
N
A
S

I
N
T
E
N
C
I
O
N
E
S


Cada caracter que compone esta cadena de caracteres se puede guardar en una variable de tipo char.
charAt() es un método de la clase String que retorna el caracter (tipo char) que se encuentra en la posición indicada. El metodo length() de la clase String también, retorna la cantidad total de caracteres contenidos en la cadena.

Ahora se presenta el siguiente programa para entender mejor la teoría anterior:
//Archivo: ManejoDeCadenas.java

public class MenejoDeCadenas {
    
    public static void main(String args[]){
        
        String cadena = "Buenas Intenciones";
        
        System.out.println(cadena.charAt(0));
        System.out.println(cadena.charAt(7));
        System.out.println(cadena.charAt(cadena.length()-1));
        
        char letra;
        for(int cont=0; cont < cadena.length(); cont++){
            letra=cadena.charAt(cont);
            System.out.println(cont+" --> "+letra);
        }
    }
}

En la linea 7 declaramos nuestra cadena de caracteres String cadena que contiene "Buenas Intenciones". En las lineas 9 y 10, imprimimos en pantalla lo que retorne el método charAt(), al cual le damos las posiciones (0) y (7) respectivamente, estas nos retornaran: el caracter en la posición 0 que es "B" y el caracter en la posición 7 que es "I".

En la linea 11 imprimimos lo que retorne el método charAt() al cual le hemos pasado de parámetro otro método, el método length() que retorna el tamaño total de nuestra cadena de caracteres, en este caso el tamaño o la cantidad de caracteres que contiene nuestra cadena es 18, pero en esa misma linea a eso que retorna ese método le restamos 1, así que lo que queda en el paréntesis de ese charAt() es 17, por tanto el método charAt() de esa linea retornara el caracter que se encuentra en la posición 17, en este caso la letra "S".

En la linea 13 declaramos una variable de tipo char, char letra, que utilizaremos como recipiente para guardar temporalmente e imprimir el contenido de la cadena de caracteres letra por letra.
En la linea 14 declaramos un for que usaremos para recorrer (leer) los caracteres que componen la cadena de caracteres; Hacemos el contador para el for, iniciando desde 0 (porque 0 es la primera posición de nuestra cadena) y de condición indicamos que itere mientras contador valga menos de lo que retorne el método length()-1 (el método leng() retorna 18 y al restarle 1, da un resultado de 17) porque 17 es la ultima posición de nuestra cadena.

En cada iteración del for a la variable char letra se le asignara lo que retorne del método charAt() que recibe de parámetro la variable contador (contador va incrementando desde 0 hasta 17). En la linea 16 imprimimos lo que contiene contador (que variará de 0 a 17) seguido de lo que contiene la variable letra (que ira conteniendo las letras, una a una, que componen la cadena de caracteres).

De tal modo que el resultado del programa sera: primero la impresión de las letras de la cadena de caracteres que se sitúen en la posición 0, 7 y 17. Despues imprimirá todos los caracteres que componen la cadena antecediendo a estos caracteres irán su numero de posición en la que se encuentran.
Loading...