You are on page 1of 3

TEORICO de Entrada de datos Java posee diferentes mtodos para el ingreso de datos; en este terico veremos tan solo

uno de ellos. A partir de la versin 5 de Java se incluyo una clase llamada Scanner() que simplifica el acceso a teclado. Para utilizar esta clase se debe incluir el paquete java.util especficamente java.util.Scanner. La forma de incluir un paquete o (en este caso la clase Scanner) es la siguiente: import java.util.Scanner; En su uso ms sencillo, le indicamos qu flujo de datos debe analizar (ya sea un archivo o la entrada estndar del sistema, "Sytem.in"), y vamos obteniendo el siguiente dato con ".next()" (el siguiente hasta llegar a un espacio en blanco):
package introduccion; // Importamos la clase Scanner import java.util.Scanner; class LeoString1 { public static void main( String args[] ) { String nombre; System.out.print( "Introduzca su nombre (una palabra): " ); // Creamos un objeto de tipo Scanner Scanner entrada=new Scanner(System.in); // Obtenemos el siguiente dato del buffer del teclado // y lo ponemos en la variable nombre nombre = entrada.next(); System.out.println( "Hola, " + nombre ); // Cerramos el objeto Scanner entrada.close(); } }

No slo podemos leer cadenas de texto. Si lo siguiente que queremos leer es un nmero, podemos usar ".nextInt()", ".nextFloat()", ".nextDouble()" .nextShort()...
package introduccion; // importamos la CLASE Scanner import java.util.Scanner; public class LeoShort { public static void main(String[] args) { // Creamos un objeto scanner Scanner sc = new Scanner(System.in); System.out.println("Introduce el numero del mes"); // Llemos el objeto en una variable short mes = sc.nextShort(); System.out.println("El mes numero "+ mes); // Cierre del objeto Scanner sc.close();

} }

http://estudiaen.milaulas.com

En la clase anterior LeoString1, si ud. la prob, habr notado que si escribe su nombre completo, solo habr mostrado la primer palabra. Si queremos usar la clase "Scanner" para que lea lnea a lnea (la linea completa hasta el <enter>), en vez de interrumpirse cada vez que encuentre un espacio en blanco, podemos cambiar el "delimitador de finalizacin (en este caso un espacio) con ".useDelimiter". Por ejemplo, para que se interrumpa el ingreso cuando llegue a un final de lnea, indicaramos como delimitador el que est definido en la propiedad "line.separator" (separador de lnea) del sistema, as:
package introduccion; import java.util.Scanner; class LeoString2 { public static void main( String args[] ) { String nombre; System.out.print( "Introduzca su nombre (una palabra): " ); Scanner entrada=new Scanner(System.in); // Luego de creado el objeto (en la linea anterior), // cambiamos el delimitador de ste: entrada.useDelimiter(System.getProperty("line.separator")); nombre = entrada.next(); System.out.println( "Hola, " + nombre ); entrada.close(); } }

O si se quiere hacer de una manera mas fcil:


package introduccion; import java.util.Scanner; class LeoString3 { public static void main( String args[] ) { String nombre; System.out.print( "Introduzca su nombre completo: " ); Scanner entrada=new Scanner(System.in); // Leer la linea completa hasta el <Enter> nombre = entrada.nextLine(); System.out.println( "Hola, " + nombre ); entrada.close(); } }

De esta manera puede ingresar una linea completa con espacios hasta su <enter>. En resumen podemos usar los siguiente mtodos:

Metodo
.next() .nextInt() .nextFloat() .nextBoolean() .nextLine() http://estudiaen.milaulas.com

Accin
retorna un elemento de tipo String retorna un elemento de tipo int retorna un elemento de tipo Float retorna un elemento booleano retorna un string hasta el <enter>

.nextByte() .nextLong() .toString() .useDelimiter(<String>) .close() .hasNext([...])

retorna un elemento de tipo Byte retorna un elemento de tipo Long Retorna el String equivalente. Indica el delimitador del ingreso Cierra el objeto Retorna TRUE si hay mas por ingresar

Si desea saber mas acerca de la clase Scanner() y todos sus mtodos posibles, puede consultar la API original en: http://docs.oracle.com/javase/6/docs/api/java/util/Scanner.html

http://estudiaen.milaulas.com

You might also like