Está en la página 1de 6

FACULTAD DE INFORMÁTICA, ELECTRÓNICA Y COMUNICACIÓN

Semana#3: Modificador de Acceso, Constructor, Variable de Instancia

La clase Scanner de java


La clase Scanner, tiene múltiples utilidades. Puede separar o romper su método de entrada
en subcadenas o “tokens”, y convertir estos datos como enteros, flotantes, etc.
Además esta clase tiene un constructor que recibe un InputStream, por lo que podemos
pasarle al mismo la sentencia System.in para leer datos desde el teclado.
El propósito de pasar a System.in como argumento es conectar o establecer una relación
entre el objeto tipo Scanner, con el nombre a (mostrada a continuación en la declaración) y
el objeto System.in, que representa el sistema estándar de entrada de información en Java.
Veamos una declaración de un objeto de la clase Scanner:
Scanner a = new Scanner(System.in);
Paquete al que pertenece la clase Scanner:
La clase Scanner de Java está localizada en el paquete java.util, este paquete reúne un
gran número de clases e interfaces.
Veamos algunas clases e interfaces del paquete java.util:
Clases:

Clases en java.util Concepto


Calendar Es una clase abstracta, por lo que no podemos hacer un new
de ella. La forma de obtener una instancia es llamando al
método getInstance(), que nos devolverá alguna clase hija
de Calendar inicializada con la fecha/hora actual.
Date (*) Representa un instante de tiempo específico, con precisión de
milisegundos.
HashMap Es la implementación basada en la tabla hash de la interfaz
de mapa. Esta implementación proporciona todas las
operaciones de mapa opcionales y permite valores nulos y la
clave nula. (La clase HashMap es aproximadamente
equivalente a Hashtable, excepto que no está sincronizada y
permite nulls.) Esta clase no garantiza el orden del mapa; En
particular, no garantiza que la orden se mantendrá constante
en el tiempo.
HashSet Esta clase implementa la interfaz Set, respaldada por una
tabla de hash (en realidad una instancia de HashMap). No
hace ninguna garantía en cuanto al orden de iteración del
conjunto; En particular, no garantiza que la orden se
mantendrá constante en el tiempo. Esta clase permite el
elemento nulo.
LinkedList Es la implementación de lista doblemente vinculada de las
interfaces List y Deque. Implementa todas las operaciones

Carlos Concepción 9-751-1500


FACULTAD DE INFORMÁTICA, ELECTRÓNICA Y COMUNICACIÓN
Semana#3: Modificador de Acceso, Constructor, Variable de Instancia

opcionales de lista, y permite todos los elementos


(incluyendo null).
TreeMap Implementa la interfaz de mapa mediante un árbol.
Proporciona un medio eficiente de almacenar pares clave /
valor en orden ordenado.
TreeSet La clase Java TreeSet implementa la interfaz Set que utiliza
un árbol para el almacenamiento. Hereda la clase AbstractSet
e implementa la interfaz NavigableSet. Los objetos de la
clase TreeSet se almacenan en orden ascendente.

Interfaces:

Interfaces en Concepto
java.util

Collection La interfaz raíz en la jerarquía de la colección. Una


colección representa un grupo de objetos, conocidos como
sus elementos. Algunas colecciones permiten elementos
duplicados y otras no. Algunos están ordenados y otros no
ordenados.
Comparator La interfaz del comparador se utiliza para ordenar los
objetos de las clases definidas por el usuario. Un objeto
comparador es capaz de comparar dos objetos de dos clases
diferentes.
Iterator Un iterador sobre una colección. Iterator toma el lugar de
Enumeración en el Marco de Colecciones de Java. Los
iteradores se diferencian de las enumeraciones de dos
maneras:
 Los iteradores permiten a la persona que llama
eliminar elementos de la colección subyacente
durante la iteración con una semántica bien
definida.
 Se han mejorado los nombres de los métodos.
List List Interface es la sub-interface de Colección. Eso contiene
métodos para insertar y eliminar elementos en base de
índice. Es una fábrica de interfaz List Iterator.
Existen una gran cantidad de clases e interfaces en el paquete java.util, al cual pertenece la
clase Scanner, pero solo hice énfasis en unas, para dar referencia de cuales eran.

Carlos Concepción 9-751-1500


FACULTAD DE INFORMÁTICA, ELECTRÓNICA Y COMUNICACIÓN
Semana#3: Modificador de Acceso, Constructor, Variable de Instancia

Métodos en Scanner:
Método Close IOException delimiter
Descripción Si este escáner Devuelve la IOException lanzada Devuelve el patrón que
todavía no ha sido por última vez por la lectura este escáner está
cerrado, entonces subyacente de este escáner. Este utilizando actualmente
si su subyacente método devuelve null si no existe para coincidir con los
legible también tal excepción. delimitadores.
implementa la
interfaz Closeable,
entonces el
método de cierre
legible será
invocado. Si este
escáner ya está
cerrado, entonces
invocar este
método no tendrá
ningún efecto.

Retorna La última excepción lanzada por El patrón de


Cierra este este escáner es legible delimitación de este
escáner. Es de tipo IOException escáner.
Es de tipo void. Es de tipo Pattern

Ejemplo public IOException ioException() public Pattern delimiter()


public void close()

Carlos Concepción 9-751-1500


FACULTAD DE INFORMÁTICA, ELECTRÓNICA Y COMUNICACIÓN
Semana#3: Modificador de Acceso, Constructor, Variable de Instancia

Métodos useDelimiter Locale useLocale


Descripción Establece el patrón de La configuración La configuración
delimitación de este escáner regional de un escáner regional de un
al patrón especificado. afecta a muchos escáner afecta a
elementos de su muchos elementos
primitiva de su primitiva
predeterminada que predeterminada que
coinciden con coinciden con
expresiones regulares; expresiones
Vea números regulares; Vea
localizados arriba. números localizados
arriba.
Retorna Este escáner. La configuración Retorna este escáner.
Es de tipo scanner. regional de este Es de tipo scanner.
escáner.
Es de tipo locale.
Ejemplo public Scanner useDelimiter public Locale locale() public Scanner useL
(Pattern pattern) ocale(Locale locale)

Métodos radix toString hasNext


Descripción La raíz de un escáner afecta La representación de Este método puede
a elementos de su número cadena de un escáner bloquearse mientras
predeterminado que contiene información espera la entrada
coinciden con expresiones que puede ser útil para para escanear. El
regulares; Vea números depurar. El formato escáner no avanza
localizados arriba. exacto no está ninguna entrada.
especificado.
Retorna Retorna la raíz La representación en Retorna cierto si y
predeterminada de este cadena de este sólo si este escáner
escáner y es de tipo int. escáner, es de tipo tiene otro token.
String. Es de tipo boolean
Ejemplo public int radix() public String toString() public boolean
hasNext()

Carlos Concepción 9-751-1500


FACULTAD DE INFORMÁTICA, ELECTRÓNICA Y COMUNICACIÓN
Semana#3: Modificador de Acceso, Constructor, Variable de Instancia

Métodos nextInt nextFloat nextDouble


Descripción Una invocación de este Escanea el siguiente Escanea el siguiente
método de la forma nextInt token de la entrada token de la entrada como
() se comporta exactamente como un flotador. doble.
de la misma manera que la Este método arrojará
invocación nextInt (radix), InputMismatchExce
donde radix es la raíz por ption si el token
defecto de este escáner. siguiente no puede
traducirse a un valor
flotante válido como
se describe a
continuación. Si la
traducción tiene
éxito, el escáner
avanza más allá de la
entrada que coincide.
Retorna El int escaneado desde la Retorna el flotador Retorna el doble
entrada. escaneado desde la escaneado desde la
Es de tipo int. entrada. entrada.
Es de tipo flotante Es de tipo double
(int).
Ejemplo public int nextInt() public float nextFloat() public double nextDouble()

Carlos Concepción 9-751-1500


FACULTAD DE INFORMÁTICA, ELECTRÓNICA Y COMUNICACIÓN
Semana#3: Modificador de Acceso, Constructor, Variable de Instancia

Ejemplo de problema con la clase escáner:


import java.util.Scanner; // se importa la clase Scanner

private class Division {

public static void main(String arg[]){

Scanner inicio=new Scanner(System.in);


int x;
int y;
int dividir;
System.out.print("Ingrese el primer dato: ");
x=inicio.nextInt();

System.out.println("Ingrese el Segundo dato");


y=inicio.nextInt();

dividir=x/y;

System.out.println(“El resultado es: %d\n”,dividir);

Carlos Concepción 9-751-1500