Escolar Documentos
Profissional Documentos
Cultura Documentos
Captulo 3:
PROGRAMACIN ORIENTADA A
OBJETOS
Sesin 20
CADENAS
Objetivos:
Introducir al estudiante en el manejo de
cadenas en Java
Realizar ejercicios con cadenas en Java
CADENAS
Java no posee un tipo de dato primitivo para
manejar cadenas.
Es una secuencia inmutable (longitud fija) de
caracteres UNICODE(16 bits) tipo char.
La clase java.lang.String es la que se emplea para
representar cadena de caracteres.
Las cadenas en java son objetos de las clases
predefinida String o StringBuffer, que estn
incluidas en el paquete java.lang.*.
Siempre que aparecen conjuntos de caracteres
entre comillas dobles, el compilador de Java crea
automticamente un objeto String.
CADENAS
Si slo existieran cadenas de slo lectura (String),
DECLARACIN DE CADENAS
String variable=Hola; //variable normal
String s, t=null; // ambas s =t =null:
Referencia Nula
String s=, t=new String(); // cadena vaca
String s=String.valueOf(3.1416),
t=obj.toString(); // Conversiones a cadena
OPERADORES PARA CONCATENAR
CADENAS
+ y +=
CONVERSION DE DATOS
UN METODO GENERICO PARA
ENCADENAR CUALQUIER
OBJETO
toString(); //Devuelve una copia del
objeto como un String.
PARA LEER UNA CADENA
String cadena=null;
Scanner entrada = new
Scanner(System.in);
Cadena=entrada.next();
CONVERSION DE DATOS
CONVERSIN DE CADENAS DE TEXTO EN
DATOS DEL TIPO ADECUADO
Cuando se lee desde teclado se obtiene un
objeto de tipo String, se puede usar:
METODOS ELEMENTALES
s.length(); // Regresa el tamao de la cadena
s.charAt(i); //Regresa el carcter i de la cadena s
DE COMPARACION
Trabaja con el cdigo UNICODE
s.equals(t); //Regresa verdadero si s y t son cadenas
exactamente iguales.
s.equalsIgnoreCase(t); // regresa verdadero si s y t
son iguales sin importar maysculas y minsculas
s.compareTo(t); //regresa 0 si son iguales, menor o
mayor a cero si s es menor/mayor a t.
s.compareToIgnoreCase(t); // lo mismo sin importar
maysculas y minsculas.
METODOS ADICIONALES
DE BSQUEDA
s.endsWidth(t); //Regresa verdadero si la cadena
termina con la cadena t
s.startsWidth(t); //Regresa verdadero si la cadena
inicia con la cadena t
s.indexOf(t); //Regresa posicin de carcter o
cadena t dentro de s o regresa -1 si no existe
s.lastIndexOf(t); //Regresa posicin de la ltima
aparicin de t dentro de s o regresa -1 si no existe
s.regionMatches(pos,t,tp,tam): Regresa cierto si
encuentra parte cadena t (tp,tam) en cadena t
METODOS ADICIONALES
DE TRASNFORMACION
Estas funciones crean una nueva cadena
s.toLowerCase(): Convierte a minsculas
s.toUpperCase(): Convierte a maysculas
s.concat(t): Concatena cadenas, idntico a s+t
s.trim(): Elimina espacios al inicio/final de la cadena
s.replace(c1,c2): Regresa cadena que resulte de
remplazar caracter c1 por c2 en s
s.substring(ini,fin): Regresa una instancia de la clase
String que tiene parte de la cadena s entre las
posiciones ini y fin
s.toCharArray(): Regresa un vector de caracteres.
EJEMPLO DE USO DE
CADENAS
EJEMPLO DE USO DE
CADENAS
// Bsqueda en cadenas
String subcad=new String("ena");
System.out.print("La subcadena '"+subcad+"'");
System.out.print(" aparece en la posicion: ");
System.out.println( cad.indexOf(subcad) );
// Comparaciones
String cadcomp=new String("CADENA Fija");
System.out.print("La cadena '"+cadcomp+"'");
if ( cad.compareTo(cadcomp) == 0 )
System.out.println(" ES igual 'Sensitive'");
EJEMPLO DE USO DE
CADENAS
else
System.out.println(" NO es igual 'Sensitive'");
System.out.print("La cadena '"+cadcomp+"'");
if ( cad.equalsIgnoreCase(cadcomp) )
System.out.println(" ES igual 'Insensitive'");
else
System.out.println(" NO = 'Insensitive'");
// Derivacin
System.out.print("Cadena derivada en minusculas: ");
System.out.println( cad.toLowerCase() );
}
Funcin de validacin de la
cdula
Realizar una funcin para validar el
nmero de cdula.
En base a los nmeros de la cdula se
debe verificar cual debera ser el ltimo
dgito.
Ejemplo:
Cdula: 0702952441
Se debe multiplicar cada dgito de la
cadena desde la izquierda a la derecha
por 2121212121.
Si hay un valor que supera 9 se resta 9.
Funcin de validacin de la
cdula
0702952441
x 2121212121
0702954481
izquierda.
Sumar 070295448 |=39.
39%10=9
Si el residuo es 0 el ltimo nmero de la cedula
debe ser 0.
Caso contrario se debe restar 10 Residuo y el
resultado debe ser igual al ltimo dgito. En nuestro
ejemplo (10-9=1).
Tarea
Realizar dos opciones:
1.-Validar la cdula de una persona.
2.- Dada una frase separar en palabras y