Manejo de Cadenas

16
UNIDAD II CADENAS DE CARACTERES (PROFA. MARIA LOURDES GEIZZELEZ) . Manejo de Cadenas a) Declaración y Lectura de una Cadena: En Java, las cadenas son tratadas como una clase especial llamada String. Para declarar una cadena se escribe de la siguiente forma: String nombre = “valor de la cadena”; Donde: String es la clase nombre = es el nombre que tendrá la clase “valor de la cadena”; es el valor que adquirirá la cadena, debe colocarse entre comillas y seguido de un punto y coma (;) Dentro de Java, todo carácter que se encuentre entre comillas será tomado como un String. Para la lectura de una cadena se utiliza: Método read() El método read() lee un carácter del dispositivo estándar de entrada, normalmente el teclado, y devuelve el carácter leído. Método read() Int read(); Ejemplo: System.out.println("Ingrese el numero de estudiantes:"); n=Integer.parseInt(KbInput.read()); En este ejemplo, el método read() mostrará en pantalla el carácter ingresado por el usuario por medio del teclado.

Transcript of Manejo de Cadenas

Page 1: Manejo de Cadenas

UNIDAD II CADENAS DE CARACTERES (PROFA. MARIA LOURDES GEIZZELEZ)

. Manejo de Cadenas

a) Declaración y Lectura de una Cadena:

En Java, las cadenas son tratadas como una clase especial llamada String.

Para declarar una cadena se escribe de la siguiente forma:

String nombre = “valor de la cadena”;

Donde: String es la clase

nombre = es el nombre que tendrá la clase

“valor de la cadena”; es el valor que adquirirá la cadena, debe colocarse entre comillas y seguido de un punto y coma (;)

Dentro de Java, todo carácter que se encuentre entre comillas será tomado como un String.

Para la lectura de una cadena se utiliza: Método read()

El método read() lee un carácter del dispositivo estándar de entrada, normalmente el teclado, y devuelve el carácter leído.

Método read() Int read();

Ejemplo:

System.out.println("Ingrese el numero de estudiantes:");

n=Integer.parseInt(KbInput.read());

En este ejemplo, el método read() mostrará en pantalla el carácter ingresado por el usuario por medio del teclado.

Page 2: Manejo de Cadenas

b) Diferenciar entre un arreglo de caracteres y una cadena de caracteres

Arreglos de Caracteres Cadena de Caracteres

- Un arreglo es un conjunto de datos agrupados por ser similares.

- Un arreglo puede ser unidimensional (en vectores) o bidimensional (en matrices).

- Un arreglo es considerado un objeto en java.

- Un arreglo es declarado mediante el operador: new el cual permite crearlo.

int texto[ ]= new int[ ]; unidimensional

int matriz[][] = new int[3][3]; bidimensional

- Una cadena es una línea de caracteres delimitadas entre dobles comillas.

- Una cadena solo puede ser unidimensional. (en una línea de caracteres)

- Una cadena puede ser un objeto o formar parte de un objeto.

- Una cadena es declarada mediante la clase String, el nombre de la cadena y los valores de la cadena entre comillas.

String texto =”Esto es una cadena”

c) Métodos de comparación, conversión y obtención de subcadenas.

i. Método charAt(): El método charAt() devuelve un valor de caracter igual al caracter del índice especificado, es decir, si dentro de una cadena existen 10 caracteres y se solicita el caracter cuya posición (índice) sea 6 el método charAt() devolverá el septimo caracter ya que la posición de los caracteres se numera desde cero (longitud de la cadena-1).

Sintaxis: cadena.charAt(índice);

Donde: cadena es el nombre de la cadena

chartAt() es el metodo

indice es el número (posición) del carácter.

Page 3: Manejo de Cadenas

Ejemplo: class cadena{ public static void main (String args[ ]){ String cadena = "Cadena"; int n=5 ; String s; s = cadena.charAt(n - 1); System.out.println(“El Caracter es: ”+s); } }

ii. compareTo(): compareTo compara los caracteres de dos cadenas (strings) y los jerarquiza según su valor en el sistema unicode a la ves que compara el número de caracteres de cada string. CompareTo devuelve un número entero menor que cero si el objeto string es menor en numero de letras o en el valor de sus caracteres que el string dado, cero si son iguales, y mayor que cero si el objeto string es mayor en numero de letras o en el valor de sus caracteres que el string dado.

Sintaxis: cadena.compareTo(otracadena);

Donde: cadena es el objeto String

compareTo() es el metodo

otracadena es el string dado

Ejemplo:

class cadena{ public static void main (String args[ ]){ String str;

str="Hola"; int resultado=str.compareTo("Ola"); System.out.println(“Resultado es: ”+resultado); } }

iii. endsWith(): prueba si una cadena (string) termina con un conjunto dado de caracteres. Si termina, el resultado será true, de lo contrario, devolverá false.

Page 4: Manejo de Cadenas

Sintaxis: boolean nombre =cadena.endsWith("texto");

Donde: nombre nombre de una variable

cadena es la cadena a comparar

endsWith() es el método

texto es lo que se va a comparar con la cadena Ejemplo: class cadena{ public static void main (String args[ ]){ String str;

str="El primer programa"; boolean resultado=str.endsWith("programa"); System.out.println(“Resultado es: ”+resultado); } }

iv. equals(): equals() compara una cadena (string) con un objeto cualquiera que puede ser otro string, y devuelve true cuando dos strings son iguales en extensión, mayusculas y minusculas, caracteres o false si son distintos.

Sintaxis: boolean nombre= cadena.equals("otracadena"); Donde: nombre nombre de una variable cadena es la cadena a comparar equals() es el método otracadena se va a comparar con la cadena Ejemplo: class cadena{ public static void main (String args[ ]){ String str;

str="Hola"; boolean resultado=str.equals("Hola"); System.out.println(“Resultado es: ”+resultado); }

Page 5: Manejo de Cadenas

} v. equalsIgnoreCase(): equalsIgnoreCase() compara una cadena (string)

con un objeto cualquiera que puede ser otro string, y devuelve true cuando dos strings son iguales en extensión y caracteres o false si son distintos. Pero sin tomar en cuenta mayusculas y minusculas.

Sintaxis: boolean nombre= cadena.equalsIgnoreCase("otracadena"); Donde: nombre nombre de una variable cadena es la cadena a comparar equalsIgnoreCase() es el método otracadena se va a comparar con la cadena Ejemplo: class cadena{ public static void main (String args[ ]){ String str;

str="Hola"; boolean resultado=str.equalsIgnoreCase("hola"); System.out.println(“Resultado es: ”+resultado); } } vi. indexof(): Retorna el indice (posición) dentro del string (cadena) del

carácter especificado, siempre y cuando éste se encuentre en la primera posición (primera letra o caracter) de alguna de las palabras (o caracteres) del String. Si el caracter no se encuentra se retorna -1.

Sintaxis: int nombre=cadena.indexOf('caracter');

Donde: nombre nombre de una variable cadena es la cadena a analizar indexOf() es el método caracter es el carácter que se buscará

El carácter a buscar se coloca entre comillas simples („carácter‟) debido a que es un dato tipo char.

Page 6: Manejo de Cadenas

Ejemplo: class cadena{ public static void main (String args[ ]){ String str; int posicion;

str="la feria de la chinita"; posicion=str.indexOf(„d‟); System.out.println(“Posicion es: ”+posicion); } } vii. isDigit(): mediante un indice (posición) dado por el usuario, de algún

caracter de la cadena, isDigit() verifica si este caracter es un digito, si es un número retorna true, si es una letra retorna false.

Sintaxis: boolean nombre= Character.isDigit(string1.charAt(2)); Donde: nombre nombre de una variable Character es el caracter a comparar isDigit() es el método string1 nombre de la cadena charAt() posición del caracter a verificar Ejemplo: class cadena{ public static void main (String args[ ]){ String str; int resultado; str= “E211”;

resultado= Character.isDigit(str.charAt(2)); System.out.println(“Resultado: ”+resultado); } }

Page 7: Manejo de Cadenas

viii. lastIndexof():Retorna el indice (posición) dentro del string (cadena) del

carácter especificado, siempre y cuando éste se encuentre en la ultima posición (última letra o caracter) de alguna de las palabras (o caracteres) del String. Si el caracter no se encuentra se retorna -1.

Sintaxis: int nombre=cadena.lastIndexOf('caracter');

Donde: nombre nombre de una variable cadena es la cadena a analizar lastIndexOf() es el método caracter es el carácter que se buscará

El carácter a buscar se coloca entre comillas simples („carácter‟) debido a que es un dato tipo char.

Ejemplo: class cadena{ public static void main (String args[ ]){ String str; int posición;

str="la feria de la chinita"; posicion=str.lastIndexOf(„e‟); System.out.println(“Posicion es: ”+posicion); } } ix. lenght(): devuelve el tamaño de la cadena (string)

Sintaxis: int nombre= cadena.lenght(); Donde: nombre nombre de una variable cadena la cadena a medir lenght() el método

Page 8: Manejo de Cadenas

Ejemplo: class cadena{ public static void main (String args[ ]){ String str; int posición;

str="la feria de la chinita"; tamaño=str.lenght(); System.out.println(“Tamaño es: ”+tamaño); x. replace(): permite reemplazar algunos caracteres de una cadena (String)

por otros caracteres, dando como resultado la creación de una nueva cadena similar a la original pero con los caracteres reemplazados.

Sintaxis: nombre= cadena.replace(„oldChar‟ , „newChar‟); Donde: nombre nombre de una variable cadena la cadena donde se reemplazaran replace() el metodo oldChar caracter antiguo (el original) newChar caracter nuevo (el reemplazo)

Ejemplo: class cadena{ public static void main (String args[ ]){ String str; int nueva;

str="la ferya de la chynyta"; nueva= str.replace(„y‟ , „i‟); System.out.println(“Nueva cadena: ”+nueva); xi. setcharAt(): mediante un indice (posición) dado por el usuario, de algún

caracter de la cadena (String), setcharAt() permite cambiar ese carácter por otro dando como resultado una nueva cadena similar a la original, excepto por el caracter que fue cambiado.

Sintaxis: nombre= cadena.setcharAt(indice,‟char‟);

Page 9: Manejo de Cadenas

Donde: nombre nombre de una variable cadena cadena a modificar setcharAt() método indice posición del caracter a cambiar char caracter de reemplazo

El carácter de reemplazo va entre comillas sencillas por ser un dato de tipo char.

Ejemplo: class cadena{ public static void main (String args[ ]){ String cadena = "Cafo"; int n=4 ; String nueva;

nueva= cadena.setcharAt(n-1,‟e‟); System.out.println(“Nueva Cadena: ”+nueva); } }

xii. startsWith(): prueba si una cadena (string) comienza con un conjunto dado de caracteres. Si comienza, el resultado será true, de lo contrario, devolverá false.

Sintaxis: boolean nombre =cadena.startsWith("texto");

Donde: nombre nombre de una variable

cadena es la cadena a comparar

endsWith() es el método

texto es lo que se va a comparar con la cadena

Page 10: Manejo de Cadenas

Ejemplo: class cadena{ public static void main (String args[ ]){ String str;

str="El primer programa"; boolean resultado=str.startsWith("El"); System.out.println(“Resultado es: ”+resultado); } }

xiii. substring(): devuelve una cadena que es una subcadena de la cadena original, es decir, devuelve parte de la cadena original desde un caracter especificado por el usuario, hasta el final de la cadena.

Sintaxis: nombre=cadena.substring(n);

Donde: nombre es el nombre de una variable

cadena cadena donde tomará la subcadena

substring() es el método

n desde donde se tomará la subcadena

Ejemplo: class cadena{ public static void main (String args[ ]){ String str; String subcadena;

str="Fantastico"; subcadena=str.substring(2); System.out.println(“Subcadena es: ”+subcadena); } }

Page 11: Manejo de Cadenas

xiv. toLowerCase(): permite convertir todos los caracteres de la cadena

(String) a minusculas dependiendo de la normas del alfabeto predefinido. Devolviendo la cadena totalmente en minusculas.

Sintaxis: nombre=cadena.toLowerCase(); Donde: nombre nombre de una variable cadena la cadena a modificar toLowerCase() es el método Ejemplo: class cadena{ public static void main (String args[ ]){ String str; String minusculas;

str="MAYUSCULAS"; minusculas=str.toLowerCase(); System.out.println(“Nueva cadena: ”+minusculas); } } xv. toUpperCase(): permite convertir todos los caracteres de la cadena

(String) a mayusculas dependiendo de la normas del alfabeto predefinido. Devolviendo la cadena totalmente en mayusculas.

Sintaxis: nombre=cadena.toUpperCase(); Donde: nombre nombre de una variable cadena la cadena a modificar toUpperCase() es el método Ejemplo: class cadena{ public static void main (String args[ ]){ String str; String mayusculas;

Page 12: Manejo de Cadenas

str="minusculas"; mayusculas=str.toUpperCase(); System.out.println(“Nueva cadena: ”+mayusculas); } } xvi. toCharArray(): permite convertir la cadena (String) en un arreglo de

caracteres. Sintaxis: nombre=cadena.toCharArray(); Donde: nombre nombre de una variable cadena la cadena que se modificará toCharArray() el método Ejemplo: class toCharArray{ public static void main (String args[]){ Console c = new Console(); c.println ("Ejemplo de uso de toCharArray"); int i; String str="Hola Mundo"; char valor[]; valor=str.toCharArray(); for (i=0;i<str.length();i++) c.print(valor[i]); } }

Page 13: Manejo de Cadenas

1. Operadores con variables tipo caracter. Elaborar un programa que presente un menú con las siguientes opciones: A-ADICION S-SUSTRACCION P-PRODUCTO C-COCIENTE R-RESIDUO F-FINALIZAR La opción que presente el usuario deberá ser leída a través de una variable tipo caracter (considerar el uso del método (KbInputChar.read()). El proceso se debe ejecutar hasta que el usuario desee finalizar. Para las operaciones, usar variables reales de precisión simple (flota) o doble. Y presentar los resultados redondeados a un digito decimal.

---------------------------------------------- import java.io.*; class prueba{ public static void main(String args[ ]) throws IOException{ int N1,N2; double adicion,sustraccion,producto,cociente,residuo,finalizar; char op='A'; while (op != 'F'){ System.out.println(); System.out.println("Ingrese Dos Numeros: "); N1= Integer.parseInt(KbInput.read()); N2= Integer.parseInt(KbInput.read()); System.out.println(); System.out.println("Opciones: "); System.out.println(); System.out.println("A) Adicion "); System.out.println("B) Sustraccion "); System.out.println("C) Producto "); System.out.println("D) Cociente "); System.out.println("E) Residuo "); System.out.println("F) Finalizar "); System.out.println(); System.out.print("Seleccione una Opcion: "); op= (KbInputChar.read()); switch (op){

Page 14: Manejo de Cadenas

case 'A': adicion= N1+N2; System.out.println("El resultado es: "+adicion); break; case 'B': sustraccion= N1-N2; System.out.println("El resultado es: "+sustraccion); break; case 'C': producto= N1*N2; System.out.println("El producto es: "+producto); break; case 'D': cociente= N1/N2; System.out.println("El cociente es: "+cociente); break; case 'E': residuo= N1%N2; System.out.println("El residuo es: "+residuo); break; case 'F': System.out.println("Adios!"); break; } } } }

--------------------------------------------

Page 15: Manejo de Cadenas

BIBLIOGRAFIA http://www.java.com/es/about/ http://www.microsoft.com/spanish/ http://www.desarrolloweb.com/articulos/499.php?manual=15 http://programarenc.webcindario.com/Cplus/capitulo1.htm http://pisuerga.inf.ubu.es/lsi/Invest/Java/Tuto/I_1.htm http://www.iec.csic.es/criptonomicon/java/quesjava.html http://www.programacionfacil.com/javacon/tres3.htm http://www.dcc.uchile.cl/~lmateu/Java/Apuntes/arreglos.htm http://www.webintenta.com/results.php?tag=toLowercase http://www.mkssoftware.com/docs/man3/isdigit.3.asp#SYNOPSIS

Page 16: Manejo de Cadenas

República Bolivariana de Venezuela Universidad Rafael Belloso Chacín

Facultad de Ingeniería Escuela de Ingeniería Electrónica

MANEJO DE CADENAS

Autor:

Br. Eduardo Ramírez C.I- 17.995.759

Sección: O211