logo

Escáner Java

La clase de escáner en Java se encuentra en el paquete java.util. Java proporciona varias formas de leer la entrada desde el teclado, la clase java.util.Scanner es una de ellas.

conversión y conversión de tipos java

La clase Java Scanner divide la entrada en tokens usando un delimitador que es un espacio en blanco de forma predeterminada. Proporciona muchos métodos para leer y analizar varios valores primitivos.

La clase Java Scanner se usa ampliamente para analizar texto en busca de cadenas y tipos primitivos usando una expresión regular. Es la forma más sencilla de obtener entradas en Java. Con la ayuda de Scanner en Java, podemos obtener información del usuario en tipos primitivos como int, long, double, byte, float, short, etc.

La clase Java Scanner extiende la clase Object e implementa las interfaces Iterator y Closeable.

La clase Java Scanner proporciona métodos nextXXX() para devolver el tipo de valor, como nextInt(), nextByte(), nextShort(), next(), nextLine(), nextDouble(), nextFloat(), nextBoolean(), etc. Para obtener un solo carácter del escáner, puede llamar al método next().charAt(0) que devuelve un solo carácter.

Declaración de clase de escáner Java

 public final class Scanner extends Object implements Iterator 

Cómo obtener el escáner Java

Para obtener la instancia de Java Scanner que lee la entrada del usuario, necesitamos pasar el flujo de entrada (System.in) en el constructor de la clase Scanner. Por ejemplo:

 Scanner in = new Scanner(System.in); 

Para obtener la instancia de Java Scanner que analiza las cadenas, debemos pasar las cadenas en el constructor de la clase Scanner. Por ejemplo:

procesamiento en paralelo
 Scanner in = new Scanner('Hello Javatpoint'); 

Constructores de clases de escáner Java

SN Constructor Descripción
1) Escáner (fuente del archivo) Construye un nuevo escáner que produce valores escaneados a partir del archivo especificado.
2) Escáner (fuente del archivo, nombre del conjunto de caracteres de cadena) Construye un nuevo escáner que produce valores escaneados a partir del archivo especificado.
3) Escáner (fuente InputStream) Construye un nuevo escáner que produce valores escaneados a partir del flujo de entrada especificado.
4) Escáner (fuente de InputStream, nombre de conjunto de caracteres de cadena) Construye un nuevo escáner que produce valores escaneados a partir del flujo de entrada especificado.
5) Escáner (fuente legible) Construye un nuevo escáner que produce valores escaneados desde la fuente especificada.
6) Escáner (fuente de cadena) Construye un nuevo escáner que produce valores escaneados a partir de la cadena especificada.
7) Escáner (fuente ReadableByteChannel) Construye un nuevo escáner que produce valores escaneados desde el canal especificado.
8) Escáner (fuente ReadableByteChannel, String charsetName) Construye un nuevo escáner que produce valores escaneados desde el canal especificado.
9) Escáner (fuente de ruta) Construye un nuevo escáner que produce valores escaneados a partir del archivo especificado.
10) Escáner (fuente de ruta, nombre de conjunto de caracteres de cadena) Construye un nuevo escáner que produce valores escaneados a partir del archivo especificado.

Métodos de clase de escáner Java

La siguiente es la lista de métodos de escáner:

SN Modificador y tipo Método Descripción
1) vacío cerca() Se utiliza para cerrar este escáner.
2) patrón delimitador() Se utiliza para obtener el patrón que la clase Scanner está utilizando actualmente para hacer coincidir los delimitadores.
3) Arroyo encuentra todos() Se utiliza para encontrar un flujo de resultados de coincidencias que coincidan con la cadena de patrón proporcionada.
4) Cadena encontrar en línea() Se utiliza para encontrar la siguiente aparición de un patrón construido a partir de la cadena especificada, ignorando los delimitadores.
5) cadena encontrar dentro del horizonte() Se utiliza para encontrar la siguiente aparición de un patrón construido a partir de la cadena especificada, ignorando los delimitadores.
6) booleano tieneSiguiente() Devuelve verdadero si este escáner tiene otro token en su entrada.
7) booleano tieneNextBigDecimal() Se utiliza para comprobar si el siguiente token en la entrada de este escáner se puede interpretar como BigDecimal usando el método nextBigDecimal() o no.
8) booleano tieneNextBigInteger() Se utiliza para comprobar si el siguiente token en la entrada de este escáner se puede interpretar como BigDecimal usando el método nextBigDecimal() o no.
9) booleano tieneNextBoolean() Se utiliza para comprobar si el siguiente token en la entrada de este escáner se puede interpretar como booleano utilizando el método nextBoolean() o no.
10) booleano tieneNextByte() Se utiliza para comprobar si el siguiente token en la entrada de este escáner se puede interpretar como un Byte utilizando el método nextBigDecimal() o no.
11) booleano tieneNextDouble() Se utiliza para comprobar si el siguiente token en la entrada de este escáner se puede interpretar como BigDecimal usando el método nextByte() o no.
12) booleano tieneNextFloat() Se utiliza para comprobar si el siguiente token en la entrada de este escáner se puede interpretar como un flotante utilizando el método nextFloat() o no.
13) booleano tieneNextInt() Se utiliza para comprobar si el siguiente token en la entrada de este escáner se puede interpretar como un int usando el método nextInt() o no.
14) booleano tieneNextLine() Se utiliza para comprobar si hay otra línea en la entrada de este escáner o no.
15) booleano tieneNextLong() Se utiliza para comprobar si el siguiente token en la entrada de este escáner se puede interpretar como Long usando el método nextLong() o no.
16) booleano tieneNextShort() Se utiliza para comprobar si el siguiente token en la entrada de este escáner se puede interpretar como un Short usando el método nextShort() o no.
17) IOExcepción ioExcepción() Se utiliza para obtener la última IOException lanzada por el legible de este escáner.
18) Local local() Se utiliza para obtener una configuración regional de la clase Scanner.
19) Resultado del partido fósforo() Se utiliza para obtener el resultado coincidente de la última operación de escaneo realizada por este escáner.
20) Cadena próximo() Se utiliza para obtener el siguiente token completo del escáner que está en uso.
21) GranDecimal siguienteBigDecimal() Escanea el siguiente token de la entrada como BigDecimal.
22) Gran entero siguienteBigInteger() Escanea el siguiente token de la entrada como BigInteger.
23) booleano siguienteBooleano() Escanea el siguiente token de la entrada en un valor booleano y devuelve ese valor.
24) byte byte siguiente() Escanea el siguiente token de la entrada como un byte.
25) doble siguienteDoble() Escanea el siguiente token de la entrada como doble.
26) flotar siguienteFlotar() Escanea el siguiente token de la entrada como un flotante.
27) En t siguienteInt() Escanea el siguiente token de la entrada como un Int.
28) Cadena Proxima linea() Se utiliza para obtener la cadena de entrada que se omitió en el objeto Escáner.
29) largo siguienteLong() Escanea el siguiente token de la entrada como un largo.
30) corto siguienteCorto() Escanea el siguiente token de la entrada como corto.
31) En t base() Se utiliza para obtener la base predeterminada del uso del escáner.
32) vacío eliminar() Se utiliza cuando esta implementación de Iterator no admite la operación de eliminación.
33) Escáner reiniciar() Se utiliza para restablecer el escáner que está en uso.
34) Escáner saltar() Omite la entrada que coincide con el patrón especificado, ignorando los delimitadores.
35) Arroyo fichas() Se utiliza para obtener un flujo de tokens separados por delimitadores del objeto Scanner que está en uso.
36) Cadena Encadenar() Se utiliza para obtener la representación de cadena del Scanner usando.
37) Escáner utilizarDelimitador() Se utiliza para establecer el patrón delimitador del escáner que está en uso según el patrón especificado.
38) Escáner usarlocale() Se utiliza para configurar el objeto de configuración regional de este escáner en la configuración regional especificada.
39) Escáner utilizarRadix() Se utiliza para establecer la base predeterminada del escáner que está en uso en la base especificada.

Ejemplo 1

Veamos un ejemplo simple de Java Scanner donde obtenemos una única entrada del usuario. Aquí, solicitamos una cadena a través del método in.nextLine().

 import java.util.*; public class ScannerExample { public static void main(String args[]){ Scanner in = new Scanner(System.in); System.out.print('Enter your name: '); String name = in.nextLine(); System.out.println('Name is: ' + name); in.close(); } } 

Producción:

 Enter your name: sonoo jaiswal Name is: sonoo jaiswal 

Ejemplo 2

 import java.util.*; public class ScannerClassExample1 { public static void main(String args[]){ String s = 'Hello, This is JavaTpoint.'; //Create scanner Object and pass string in it Scanner scan = new Scanner(s); //Check if the scanner has a token System.out.println('Boolean Result: ' + scan.hasNext()); //Print the string System.out.println('String: ' +scan.nextLine()); scan.close(); System.out.println('--------Enter Your Details-------- '); Scanner in = new Scanner(System.in); System.out.print('Enter your name: '); String name = in.next(); System.out.println('Name: ' + name); System.out.print('Enter your age: '); int i = in.nextInt(); System.out.println('Age: ' + i); System.out.print('Enter your salary: '); double d = in.nextDouble(); System.out.println('Salary: ' + d); in.close(); } } 

Producción:

 Boolean Result: true String: Hello, This is JavaTpoint. -------Enter Your Details--------- Enter your name: Abhishek Name: Abhishek Enter your age: 23 Age: 23 Enter your salary: 25000 Salary: 25000.0 

Ejemplo 3

 import java.util.*; public class ScannerClassExample2 { public static void main(String args[]){ String str = 'Hello/This is JavaTpoint/My name is Abhishek.'; //Create scanner with the specified String Object Scanner scanner = new Scanner(str); System.out.println('Boolean Result: '+scanner.hasNextBoolean()); //Change the delimiter of this scanner scanner.useDelimiter('/'); //Printing the tokenized Strings System.out.println('---Tokenizes String---'); while(scanner.hasNext()){ System.out.println(scanner.next()); } //Display the new delimiter System.out.println('Delimiter used: ' +scanner.delimiter()); scanner.close(); } } 

Producción:

fusionar ordenar java
 Boolean Result: false ---Tokenizes String--- Hello This is JavaTpoint My name is Abhishek. Delimiter used: /