implementación de aplicaciones basadas en texto
Post on 11-Apr-2017
4.842 Views
Preview:
TRANSCRIPT
Implementación de Aplicaciones Implementación de Aplicaciones Basadas en TextoBasadas en Texto
Ing. Rolando Steep Quezada MartínezIng. Rolando Steep Quezada Martínezrqm@upnorte.edu.perqm@upnorte.edu.pe
Programación Básica en Java y Programación Orientada a Objetos Programación Básica en Java y Programación Orientada a Objetos
Copyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 10-10-22
Entrada/Salida estándarEntrada/Salida estándar
• Stream de salida estándar: System.out– Objeto PrintStream (es un tipo de OutputStream)– Métodos de escritura print(valor) y println(valor) para los
siguientes tipos:
• Stream de entrada estándar: System.in– Objeto InputStream
• Salida de error “estándar”: System.err– Objeto PrintStream– Mostrar mensajes de error o cualquier otra información que requiera la
atención inmediata del usuario
char int float Object boolean
char[] long double String
Copyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 10-10-33
Lectura de datos por TecladoLectura de datos por Teclado
InputStream
InputStreamReaderint read()read(char[])
BufferedReaderreadLine()
read()read(byte[])bytes
Copyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 10-10-44
Lectura de datos con ScannerLectura de datos con Scanner
Copyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 10-10-55
VarargsVarargs
Copyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 10-10-66
Salida con FormatoSalida con Formato
• La clase Formatter nos permite crear plantillas para la salida de nuestros datos.
• También podemos usarlo System.out.format• Para dar el formato usaremos el metodo format :
public Formatter format(String format, Object... args);public Formatter format(Locale l, String format, Object... args);
Copyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 10-10-77
La Clase StringLa Clase String
• Clase especializada en el manejo de arreglos de caracteres.
• Su creación no está supeditada al operador new, puede ser implícita.
publica String() //constructor de un obj de valor “”public String(String value)//constructor de obj copia de value
• El valor de una instancia de String es inmutable.
Copyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 10-10-99
String. Funciones miembroString. Funciones miembro
• length .- Permite obtener la longitud de la cadena.
• startsWith.- true si la cadena empieza con el parámetro indicado.
• endsWith.- true si la cadena termina con el parámetro indicado.
• indexOf.- retorna la posición de la primera aparición del valor buscado (carácter o subcadena). Se puede especificar un índice inicial para la búsqueda.
Copyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 10-10-1111
Comparación de stringsComparación de strings
• Al ser una clase el valor de un String no puede compararse con el operador ==.
• Ofrece dos métodos para comparar el su valor:– equals.- Método heredado de Object que es sobreescrito para lograr la
comparación de dos arreglos de caractéres.
– equalsIgnoreCase.- la comparación no diferencia mayúsculas o minúsculas.
– compareTo.- retorna un entero < 0 si el parámetro es mayor con respecto al alfabeto, 0 si son iguales y > 0 si es menor.
– compareToIgnoreCase.- la comparación no diferencia mayúsculas o minúsculas.
• Si se aplica la comparación con ==, se estaría comparando la dirección de memoria y no su contenido.
Copyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 10-10-1313
Extraer un substring de un stringExtraer un substring de un string
• Define un método sobrecargado para la extracción de un subcadena de su valor.
• subString.- retorna la cadena a partir de una posición inicial. Puede especificarse una posición final.
Copyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 10-10-1414
String y NúmerosString y Números
Número -> String
– valueOf.- Método polimórfico por sobrecarga que transforma un número a su equivalente en cadena.
String -> Número
Las clases envolventes de tipos primitivos proveen dos formas de transformar una cadena a un tipo numérico específico.
– parseXXX– valueOf( str ).XXXvalue
donde XXX es el tipo deseado
Copyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 10-10-1616
La clase La clase StringBufferStringBuffer
• Gestiona arreglos de caracteres al igual que String, aunque la mayor diferencia es que su valor es mutable.
• Para cambiar el contenido de un StringBuffer, se pueden utilizar dos métodos: append() e insert().
• Ejemplo:
su equivalente con StringBuffer:
Copyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 10-10-1818
La clase La clase StringTokenizerStringTokenizer
• Separa elementos de una cadena dado un carácter de separación, que por default es el espacio.
Copyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 10-10-1919
ConstructoresConstructores
– StringTokenizer(String); //Separa una cadena cuando encuentra los delimitadores por /default que son espacio, tabulador, retorno de carro.
– StringTokenizer(String, String); //separa la primer cadena con el delimitador indicado //por la segunda cadena.
– String Tokenizer(String,String,boolean); //Permite incorporar a los tokens de la cadena //los elementos delimitadores según la condición boleana.
Copyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 10-10-2020
Obtención de los tokensObtención de los tokens
– countTokens() //Determina el número de tokens restantes en el String Tokenizer (ST).
– hasMoreTokens() //Determina cuando el St tiene más elementos.
– nextToken() //Regresa el siguiente token del ST.
Copyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 10-10-2222
ResumenResumen
• Java brinda clases para el manejo de rutinas comunes en una aplicación.
• La clase Scanner simplifica la lectura de datos.• En Java se pueden escribir métodos de argumento variable
si utilizar sobrecarga.• Java permite la salida con formato similar a c.• El valor de la cadena de una clase String es inmutable.• StringBuffer no crea nuevas referencias de memoria al
concatenar o insertar un valor a la cadena que contiene.• StringTokenizer permite recuperar los tokens de un texto
especificando un delimitador.
Copyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada MartínezCopyright © 2005, Universidad Privada del Norte S.A.C. – Ing. Rolando Steep Quezada Martínez 10-10-2323
Práctica 9Práctica 9
Objetivos:
– Utilizar las clases del JDK de Java para realizar tareas de entrada/salida estándar.
– Adquirir habilidad en el tratamiento de cadenas de caracteres
top related