Professional Documents
Culture Documents
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(); } }
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>
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