You are on page 1of 5

Estructura de Datos

-1-

Ing. Alberto Moreno

MANEJO DE CADENAS 1.1 Strings


Una secuencia de datos del tipo carcter se llama un string (cadena) y en el entorno Java El paquete java.lang proporciona una clase diferente, StringBuffer, que se podr utilizar para crear y manipular caracteres con mayor magnitud de caracteres..

Concatenacin de Cadenas
Java permite concatenar cadenas fcilmente utilizando el operador +. El siguiente fragmento de cdigo concatena tres cadenas para producir su salida.
"La entrada tiene " + contador + " caracteres."

Dos de las cadenas concatenadas son cadenas literales: "La entrada tiene " y " caracteres.". La tercera cadena - la del medio- es realmente un entero que primero se convierte a cadena y luego se concatena con las otras.

Funciones cadena
Tipo de Dato Sintaxis del metodo y descripcin Devuelto char charAt(int index)

Returns un valor del indice especificado


int compareTo(String anotherString)

compara dos cadenas de en cuanto a longitud y contenido. >0 la cadena1 >cadena2 <0 la cadena1 <cadena2 String concat(String str) concatena la cadena al final de la cadena fuente
boolean equals(Object anObject)

Compara dos cadenas si son iguales en longitud y contenido.


int indexOf(String str)

Retorna un indice , con la primera ocurrencia encontrada de la subcadena en la cadena mayor


int lastIndexOf(String str)

Retorna la ultima ocurrencia encontrada.


int length()

Retorna la longitud de la cadena String replace(char oldChar, char newChar) Retorna una nueva cadena resultante , reemplazando los caracteres antiguos por los nuevos caracteres String replaceAll(String regex, String replacement)

Estructura de Datos

-2-

Ing. Alberto Moreno

Reemplaza cada cadena , que tienen un juego de caracteres(expression regular regex) con un Nuevo valor.. String replaceFirst(String regex, String replacement) Similar al anterior pero la primera ocurrencia. String[] split(String regex) Divide una cadena que tenga un caracter comun hacia un arreglo de cadenas.. String substring(int beginIndex) Retorna una nueva cadena a desde la posicion cero , hasta el indice definido. . String substring(int beginIndex, int endIndex) devuelve parte de una cadena. String toLowerCase() convierte toda una cadena a minusculas. String toUpperCase() Convierte toda una cadena a mayusculas. String trim() Suprime los espacios en blanco a ambos lados de la cadena

Ejemplo.-

/** Clase que muestra en consola los resultados de algunos mtodos * que manipulan cadenas */ import java.io.*; // Paquete para manejo de entradas y salidas de datos public class Cadenas { public static void main(String[] args) throws IOException { String texto1 = "PolloDavid"; // Declaracin simple String texto2 = new String("PolloMiliuco"); // Usando un constructor System.out.println( "\nLa primera cadena de texto es :\n" ); System.out.println( "\t"+texto1 ); System.out.println( "\nLa segunda cadena de texto es :\n" ); System.out.println( "\t"+texto2 ); System.out.println( "\nConcatenamos con texto2 primero: " + texto2 + texto1 );

Estructura de Datos

-3-

Ing. Alberto Moreno

System.out.println( "Concatenamos con texto1 primero: " + texto1 + texto2 ); System.out.println( "Concatenamos cadenas con enteros: " + texto1 + "" + 5 + " " + 23.5 ); System.out.println( "La longitud de la segunda es: " + texto2.length() ); System.out.println( "La segunda letra de texto2 es: " + texto2.charAt(1) ); System.out.println( "La cadena texto2 en mayusculas: " + texto2.toUpperCase() ); System.out.println( "Tres letras de texto2 desde la posicion 2: " + texto2.substring(2,5) ); System.out.println( "La cadena texto2 en minusculas: " + texto2.toLowerCase() ); System.out.println( "\nComparamos texto1 y texto2: " + texto1.compareTo(texto2) ); if (texto1.compareTo(texto2) < 0) System.out.println( "Texto1 es mas corto que texto2" ); StringBuffer texto3 = new StringBuffer("Otra cadena"); texto3.append(" nueva"); System.out.println( "\nTexto 3 ahora es: " + texto3 ); texto3.insert(6, "1"); System.out.println( "Y ahora intercalando un 1 en la posicion 6: " + texto3 ); texto3.reverse(); System.out.println( "Y ahora texto3 invertido: " + texto3 +"\n"); } } Ejercicios: Ejercicios
Modifique el ejemplo anterior para mostrar en una lista los siguiente: 1) C Cr Cri Cris Crist.... colocar las palabras de izquierda a derecha

2) Colocar las palabras de derecha a Izquierda 3) Colocar cada palabra en una linea ,por ejemplo Cristo Es Nuestra Vida

Estructura de Datos

-4-

Ing. Alberto Moreno

4) Contabilizar la cantidad de palabras 5) que palabra tiene menor longitud 6) Mostrar la palabra que tenga mayor longitud

7.El numero de Ruc se genera a partir del numero de libreta electoral , en el text1 solo se ingresara nmeros, luego este numero se descompone de la sgte manera: Sm= D1*1 + D2*2 + D3*3 +.....+D8*8 Donde D1, D2 ...son los dgitos Luego esta suma se divide entre 13, su residuo se le concatena con el numero electoral al final. Los dos primeros dgitos puden ser: 10 = Persona natural 12= Persona Jurdica

8.-Generacin de los carnet de esalud E l numero de Carnet es de 15 caracteres y se forma de la siguiente manera: Ejm: Nombre Claudia Ap. Paterno: Moreno Ap. Materno: Lee Fecha de Nac. 26/11/80 Sexo : F Nro: generado 8011260MELEC001 Sexo 0=Femen 1=Masc 8 y 9 Corresponde al Primer y cuarto carac. Del Paterno

Estructura de Datos

-5-

Ing. Alberto Moreno

De la misma forma es para 10 y 11 posicin con el materno, claro si la longitud del apellido es menor de cuatro caracteres se coger el tercero, la 12 posicin es el Primer carcter del nombre y los tres ltimos un correlativo para este caso asumirlo como un contador de registro.

3.-Verificacin de Cdigos

El cdigo ingresado ser de 7 caracteres los seis primeros son dgitos y el ultimo una letra de verificacin:

Para verificar un cdigo se procede de la siguiente manera: Suma= D1*6 + D2*5+D3*4+ D4*3 + D5* 2 + D6*1 Esta suma se divide entre 7 y su residuo se le asigna una letra correspondiente de acuerdo a: Residuo residuo 0 1 2 3 4 5 6 Letra A B C D E F G Si la letra es igual que el ultimo carcter del cdigo entonces mostrar cdigo correcto de lo contrario cdigo incorrecto, pintarlo con azul y rojo respectivamente.

Prof. Ing. Alberto Moreno C.

You might also like