FUNDA FUNDAMEN MENTOS TOS DE LA PROG PROGRA RAMA MACI CI N LABORATORIO N° 10
CADENAS DE TEXTO CODIGO DEL CURSO: II1101
A lumno(s lumno( s ) G eorg e Mig uel P uma uma S alcedo lcedo
Grupo Ciclo Fecha Fec ha de entreg entreg a
A I
DISEÑO DE SOFTWARE E INTEGRACIÓN DE SISTEMAS PROGRAMA DE FORMACIÓN REGULAR
N ota
Laboratorio de Fundamentos de Programación
Nro. DD-106 Página 1 de 9
I.- OBJETIVOS:
Declarar y trabajar con cadenas de texto en Java. Utilizar los principales métodos de las cadenas de texto.
II.- SEGURIDAD: Advertencia: En este laboratorio está prohibida la manipulación del hardware, conexiones eléctricas o de red; así como la ingestión de alimentos o bebidas.
III.- FUNDAMENTO TEÓRICO: Importante. Dentro de la carpeta D:\Java, verifique que tiene una carpeta identificada con su nombre y apellido. En esta carpeta debe crear los proyectos de los laboratorios. Si no existe la carpeta, créela.
Los procedimientos de creación de proyectos se encuentran detallados en la guía de laboratorio de la segunda semana.
IV.- NORMAS EMPLEADAS: No aplica
V.- RECURSOS:
En este laboratorio cada alumno trabajará con un equipo con Windows XP. Este equipo cuenta con JDK instalado, así como alguno de los IDE (Entorno de Desarrollo Integrado) como Eclipse o NetBeans.
VI.- METODOLOGÍA PARA EL DESARROLLO DE LA TAREA:
El desarrollo del laboratorio es en grupos de dos estudiantes.
VII.- PROCEDIMIENTO: 1. Cree el proyecto 10_Cadenas en su carpeta de trabajo.
MANIPULACIÓN DE TEXTOS 2. Cree la clase Manejo_de_Cadenas con el siguiente código: public class Manejo_de_Cadenas { public static void main(String args[]) { operaTexto(args[0]); } public static void operaTexto(String texto) { System.out.println(texto); System.out.println("Longitud : " + texto.length()); System.out.println("Mayúsculas: " + texto.toUpperCase()); System.out.println("Minúsculas: " + texto.toLowerCase()); texto += " - Arequipa"; // concatena un texto a la variable System.out.println(texto); // muestra el texto concatenado System.out.println("Primera posición de 'e': " + texto.indexOf("e")); System.out.println("Última posición de 'e' : " + texto.lastIndexOf("e")); System.out.println("Primer carácter: " + texto.charAt(0)); System.out.println("Último carácter: " + texto.charAt(texto.length()-1)); System.out.println("Subcadena : " + texto.substring(16, 24)); } }
Antes de ejecutar el proyecto, asigne como argumento el texto "Tecsup Nro. 2" incluyendo las comillas (si no incluye las comillas, estaría asignando 3 argumentos). Identifique el objetivo de cada uno de los
Laboratorio de Fundamentos de Programación
Nro. DD-106 Página 2 de 9
métodos de la clase ejecutada y documéntelos en la siguiente tabla. Si es necesario, agregue código a la clase para pruebas adicionales.
Método
Objetivo
length()
La longitud de String a analizar.
toUpperCase()
Convierte los caracteres del String todas a mayúsculas.
toLowerCase()
Convierte los caracteres del String todas a minúsculas.
indexOf( char )
Retorna la primera posicion de un caracter.
lastIndexOf( char )
Retorna la ultima posicion de un caracter.
charAt(index )
Devuelve un valor de caracter situado en la posicion del index
substring( start, end )
Devuelve una cadena de la primera y ultima posicion asignada
replace( char1, char2)
Cambiar el caracter inicial indicado por el Segundo caracter asignado
trim()
Elimina espacios al principio y final de la cadena.
3. Dentro de la misma clase, cree el método textoVertical con el siguiente código: public static void textoVertical (String texto ) { for (int cont=0; cont
Para probar el método textoVertical, agregue al final del método main la siguiente línea: textoVertical(args[0]);
¿Qué hace el método textoVertical? La cadena ingresada en Horizontal, la devuelve en Vertical ¿Qué hace el bucle for del método textoVertical? Recorre la Cadena a ingresar, de tal manera que en el “substring” recorra carácter por carácter realizando un “Enter” en cada uno
4. Dentro de la misma clase, desarrolle el método textoReves que permita recibir una cadena de texto y retornar esta cadena al revés. Por ejemplo, si el argumento es Tecsup , el método retornará pusceT . public static String textoReves (String texto ) { String box=""; for(int i=texto.length()-1; i>=0; i--) box+= texto.charAt(i); return box; }
Para probar el método, agregue la siguiente línea de código al final del método main: System.out.println(textoReves(args[0]));
Laboratorio de Fundamentos de Programación
Nro. DD-106 Página 3 de 9
5. Desarrolle, dentro de la misma clase, el método cuentaCar, que reciba una cadena de texto y un carácter determinado y retorne el número de ocurrencias del carácter dentro del texto. Por ejemplo, si el texto es "ELEFANTE" y el carácter es 'E', el método retornará 3. public static int cuentaCar (String texto, char c ) { int n= 0; for(int i=0; i
Para probar el método, agregue la siguiente línea de código al final del método main: System.out.println(cuentaCar(args[0], 'A'));
Laboratorio de Fundamentos de Programación
Nro. DD-106 Página 4 de 9
6. Desarrolle, dentro de la misma clase, el método eliminaCar, que reciba una cadena de texto y un carácter determinado y retorne la cadena luego de eliminar cada una de las instancias del carácter. Por ejemplo si el texto es "ELEFANTE" y el carácter es 'E', el método retornará "LFANT". public static String eliminaCar (String texto , char c) { String box=""; for(int i=0; i
Para probar el método, agregue la siguiente línea de código al final del método main: System.out.println(eliminaCar(args[0], 'A'));
7. Desarrolle el método cuentaVocales, que reciba una cadena de texto y retorne el número de vocales dentro del texto. Por ejemplo si el texto es "ELEFANTE", el método retornará 4. public static int cuentaVocales (String texto ) { int cont=0; String vocales="AEIOU"; for(int i=0;i
Para probar el método, agregue la siguiente línea de código al final del método main: System.out.println(cuentaVocales(args[0]));
Laboratorio de Fundamentos de Programación
Nro. DD-106 Página 5 de 9
8. Desarrolle el método suCodigoEs que reciba como argumento una cadena de texto (nombres y apellidos) y deberá devolver el código correspondiente. Este código está formado por las iniciales de los nombres y apellidos. Ejemplo: Si se pasa el nombre: Luis Oscar Caceres Ortiz , deberá devolver el código: LOCO public static String suCodigoEs (String texto ) { String box = ""; box= box+texto.charAt(0); for(int i=0; i
Laboratorio de Fundamentos de Programación
Nro. DD-106 Página 6 de 9
9. Desarrolle el método textoDiagonal que reciba como argumento una cadena de texto. Se debe valdar que la longitud del texto sea impar y mayor que 3. Si no se cumple con este requisito debe imprimir un mensaje de error, y en caso contrario debe devolver un String con texto impreso por las dos diagonales. Ejemplo: Si se pasa el nombre: reconocer , deberá devolver lo siguiente:
public static String textoDiagonal (String texto ) { String box=""; String vacio=" "; String Salto="\n"; int n=texto.length(); int y=(n-1); if(texto.length()%2!=0) { for(int i=0;i
Laboratorio de Fundamentos de Programación
Nro. DD-106 Página 7 de 9
10. Desarrolle el método textoTriangulo que reciba como argumento una cadena de texto. Se debe devolver un String con texto impreso en forma triangular. Ejemplo: Si se pasa el nombre: tecsup, deberá devolver lo siguiente:
public static String textoTriangulo (String texto ) { String box=""; String vacio=" "; String Salto="\n"; for(int i=1; i<=texto.length(); i++) { for(int espa=1; espai-1;j--) box+=texto.substring(i-1, i); box+=Salto;} return box; }
11. Desarrolle el método esPalindromo que reciba como argumento una cadena de texto y retorne un valor lógico: true si el argumento pasado es un palíndromo y false si el texto pasado no es un palíndromo. Un palíndromo es un texto que se lee igual de izquierda a derecha que de derecha a izquierda sin tomar en cuenta los espacios en blanco. Ejemplos:
Oso Reconocer Anita lava la tina Dabale arroz a la zorra el abad Eva usaba rimel y le miraba suave public static boolean esPalindromo (String texto) { String borrar=texto.replace(" ", ""); String box=""; for(int i=borrar.length()-1; i>=0; i--) {
Laboratorio de Fundamentos de Programación
Nro. DD-106 Página 8 de 9
box+= borrar.charAt(i); if(box.equalsIgnoreCase(borrar)) return true; } return false; }
Para probar el método, indique la línea de código que debe agregar al final del método main: System.out.println(esPalindromo(args[0]));
VIII.- OBSERVACIONES Y CONCLUSIONES OBSERVACIONES: Un “String” es una cadena de texto permite almacenar y procesar texto. “+=” Es una herramienta que te permite añadir un texto o valor, igual que un contador que permite almacenar. “length()” da a conocer la longitud de String a analizar. “toUpperCase()” convierte los caracteres del String todas a mayúsculas. “toLowerCase()”convierte los caracteres del String todas a minúsculas. “indexOf(char)” r etorna la primera posición de un carácter. “lastIndexOf(char)” r etorna la última posición de un carácter. “charAt(index)” devuelve un valor de carácter situado en la posición del a declarar. “substring(start, end)” devuelve una cadena de la primera y última posición asignada. “replace(char1, char2)” cambia el carácter inicial indicado por el Segundo carácter asignado “trim()” elimina espacios al principio y final de la cadena. “equals(String)” compara el texto a analizar con el String, sin excepción alguna (mayúscula y minúscula). “equalsIgnoreCase(String)” compara el texto a analizar con el String incluyendo en uso de mayúscula y minúscula.
CONCLUSIONES: El String es una cadena de texto más utilizado en lo que converger al lenguaje de programación, permitiendo al usuario almacenar textos muy extensos.
Laboratorio de Fundamentos de Programación
Nro. DD-106 Página 9 de 9
Se logro aprender la funcionabilidad de los métodos para manejo de cadenas en Java. Se implemento cadenas de texto para resolver cada clase de la práctica. Se logro implementar lo aprendido en laboratorios anteriores para resolver cada clase propuesta. A diferencia de otros entornos del lenguaje de programación, Java cuenta el String, que permite al usuario almacenar cadenas de texto y, de esta manera evitar crear chart dentro de arrys. En conclusión, el uso de cadenas de texto (String) tiene múltiples aplicaciones en nuestro campo de estudio, de esta manera, podemos crear interfaces que requieran un almacenaje de texto o datos, además, podemos reconocer un ejemplo claro utilizado por muchos; cuando buscamos información en internet.