0% encontró este documento útil (0 votos)
22 vistas7 páginas

Explicación String

Descargar como pdf o txt
Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1/ 7

Universidad Autónoma Gabriel René Moreno

Facultad de Ciencias de la Computación

Materia: Programación I, Grupo SD.

Tema: Tratamiento de Cadenas de Caracteres. (String)

Docente: Lic. Edwin Vargas Yapura.


Cadenas de Caracteres.
Una cadena de caracteres, es una secuencia de caracteres agrupados con un nombre.
En java, una cadena se escribe entre comillas dobles y un carácter se escribe entre comillas simples.
String s1 = “programa”; // Se declara e inicializa.

Internamente se representa como un Arreglo de Caracteres:

s1 = ´p´ ´r´ ´o´ ´g´ ´r´ ´a´ ´m´ ´a´


0 1 2 3 4 5 6 7

El primer caracter, se almacena en la posición 0 de la cadena s1.


El segundo caracter, se almacena en la posición 1 de la cadena s1.
-------
El n-ésimo caracter, se almacena en la posición n-1 de la cadena s1.

Las cadenas en JAVA, son instancias de la clase String, son objetos de la clase String, por tanto, los caracteres
De una cadena, se acceden a través del método charAt(i).
s1.charAt(0) : devuelve el carácter ´p´,
s1.charAt(4) : devuelve el carácter ´r´.
Las Cadenas son Inmutables (No se modifican).
Las Cadenas de Caracteres en JAVA, son inmutables. Es decir; una vez que tienen un valor, ya no se puede
modificar. En caso de requerir modificar, realizar las modificaciones en una nueva cadena. Por ejemplo:

public static String eliminarDigitos(String s1){


String s2 = "";
eliminarDigitos(s1) : Función que int i = 0;
while(i < s1.length()){
devuelve una cadena formado por if(!Character.isDigit(s1.charAt(i)))
solo dígitos obtenidos de la cadena s1. s2 = s2 + s1.charAt(i); // concat DER
i = i + 1;
}
return s2;
}

public static String cadenaInvertida(String s1){


int i = 0; String s2 = "";
while(i < s1.length()){ cadenaInvertida(s1) : Función que
s2 = s1.charAt(i) + s2; // concat IZQ
i = i + 1;
devuelve una cadena, resultado en
} invertir la cadena s1.
return s2;
}
Generar Cadenas de Caracteres.
Con la operación de concatenar por izquierda o derecha, podemos resolver multiples problemas interesante
aplicados a diferentes casos.

public static String literales(int n){


int n1 = n; String s1 = "";
while(n1 > 0){
literales(n) : Función que devuelve una
s1 = literal(n1 % 10) + s1; // concat IZQ
cadena, resultado de encontrar los literales n1 = n1 / 10;
de cada dígito de n. Ejemplo, si n = 8546, la }
función devuelve “ocho cinco cuatro seis” return s1;
}

public static String conversionBaseK(int n, int k){ conversionBaseK(n, k) : Función que


int n1 = n; String s1 = ""; devuelve una cadena, resultado de convertir
while(n1 > 0){ el entero n a un valor en base k. Sugerencia,
s1 = simbolo(n1 % k) + s1; // concat IZQ
utilizar el método de las divisiones sucesivas.
n1 = n1 / k;
} Ejemplo, si n = 57834, k = 16. La función
return s1; devuelve: “E1EA”. Si n = 25, k = 2. La función
} devuelve: “11001”.
SubCadenas posibles de una Cadena.
mostrarSubcadenas(s1) : Procedimiento que muestra todas las subcadenas de la cadena s1.

public static void mostrarSubCadenas(String s1){


for(int i = 0; i < s1.length(); i++){
for(int j = i + 1; j <= s1.length(); j++){
System.out.println(s1.substring(i, j));
}
}
}

s1 = “ABCDEF”

A B C D E F
AB BC CD DE EF
ABC BCD CDE DEF
ABCD BCDE CDEF
ABCDE BCDEF
ABCDEF En base a esta lógica, se puede plantear múltiples ejercicios
sobre aquellas subcadenas que cumplen algunas condiciones.
Métodos de String.
Los métodos de la clase String, se pueden invocar desde objetos que son instancias de la clase String.
En adelante, referiremos objetos de la clase String s1, s2, s3, . . , y caracteres con: ch1, ch2, ch3, . . .
S1.indexOf(s2),
S1.indexOf(s2, i),
S1.indexOf(ch),
S1.indexOf(ch, i) : Método que busca la primera ocurrencia de la cadena s1 en s2, devuelve
La posición dónde comienza. Si no encuentra devuelve -1.

Algunos Ejercicios :

public static boolean esVocal(char ch){ public static boolean esDigito(char ch){
return "aeiouAEIOU".indexOf(ch) >= 0; return "0123456789".indexOf(ch) >= 0;
} }

public static int cantidadSubCadena(String s1, String s2){


int c = 0, k = s1.indexOf(s2);
while(k >= 0){
c = c + 1;
k = s1.indexOf(s2, k + 1);
}
return c;
}
Conclusiones
• El tratamiento de Cadenas de Caracteres es muy importante conocer, dado que todos los
lenguajes de programación manipular cadenas de caracteres y se disponen de ámplias
librerías para manipular cadenas.

• En cualquier programa de computador, aparece siempre tratamiento de cadenas de


caracteres ya sea en los datos de entrada y/o salida.

• En programación orientada a objetos, existen convenciones para tratar las cadenas de


caracteres en todos los objetos, por ejemplo el método toString(), que aparece en todos
los objetos de la librería o los nuevos objetos creados.

• Cada lenguajes de programación dispone de amplias librerías para tratar cadenas de


caracteres, algunos más otros, por tanto es importante conocer la librería de cadenas y
saber utilizarlos, con el uso de librerías se fortalece el aprendizaje en la lógica de
programación.

También podría gustarte