Para usar la clase de escáner, primero debe importarse. Después de eso, un objeto tiene que ser instanciado de él. Después de usar el objeto del escáner, debe cerrarse. El objeto de transmisión de entrada que representa el teclado es el sistema.en. El escáner tiene muchos métodos. Solo los usados comúnmente se explicarán en este artículo.
Contenido del artículo
Uso simple de la clase de escáner
El siguiente código le pide al usuario que escriba una oración, y luego muestra la oración:
importar java.utilizar.Escáner;La primera línea importa la clase de escáner. En la función principal, la primera línea crea un objeto de escáner utilizando el "sistema.en "objeto para el teclado. Tan pronto como se crea el objeto del escáner, comienza a esperar la entrada. La siguiente línea imprime una declaración, pidiéndole al usuario que escriba una oración. La línea siguiente en el código usa el método NextLine () del objeto del escáner para leer la oración del usuario después de que presione Enter. La línea posterior, en el código, reimprime la oración en la ventana del terminal. La última línea cierra el objeto del escáner.
Escupir la línea de entrada en valores
El siguiente código divide la línea de entrada en palabras (tokens), usando el espacio como delimitador:
importar java.utilizar.Escáner;HasNext () y Next () son otros dos métodos del objeto del escáner. Cuando el objeto del escáner lee una línea, lo mantiene. Siguiente () accede a la siguiente token (palabra). HasNext () devuelve verdadero si hay algún otro token aún no accedido.
Desafortunadamente, se espera que el usuario escriba entrada para dividir y volver a mostrar con este código. Para finalizar todo eso, presione Ctrl+Z, y debe volver al símbolo del sistema.
En el código anterior, el delimitador separa los tokens en el espacio. Otro personaje se puede usar. El siguiente código usa la coma. No olvide presionar CTRL+Z para finalizar el bucle si prueba el código.
importar java.utilizar.Escáner;Si probó el código, habría notado que los espacios en los tokens se han incluido como parte de los tokens (salida). La expresión, ScanObj.UsedElimiter (","); escrito después de que se haya leído la línea de entrada; es lo que hace que la coma, el delimitador.
Lectura y validación de tipos de datos primitivos
método nextBoolean ()
En el siguiente código, se espera que el usuario escriba "verdadero" o "falso" sin las cotizaciones y luego presione la tecla ENTER si el usuario escribe algo más, como "sí" o "no", un mensaje de error será desplegado.
importar java.utilizar.Escáner;Dado que Java emitirá un mensaje de error siempre que la entrada no sea verdadera o falsa exactamente, el "más si" se ha utilizado en lugar de "más".
La diferencia entre los métodos, Print e println, es que la impresión espera la entrada en la línea actual, mientras que Println espera la entrada en la siguiente línea.
método nextbyte ()
Con el conjunto de caracteres ASCII, un personaje es un byte. Sin embargo, con algunos conjuntos de personajes orientales, un personaje puede consistir en más de un byte. Independientemente del conjunto de caracteres, el método NextByte lee y valida el siguiente byte de la entrada. El siguiente código se puede utilizar para este propósito:
importar java.utilizar.Escáner;Si se ingresa un número mayor de 127 o un carácter de alfabeto para este código, se emitirá un mensaje de error.
Método NextInt ()
El siguiente token entero como entrada también se puede validar y aceptar. Se puede usar el siguiente código:
importar java.utilizar.Escáner;Se han eliminado los espacios líderes o finales. Para este código, se aceptaría cualquier valor entero, incluidos los valores superiores a 127,. Con estos métodos nextxxxx (), una vez que falla la validación, se emite un mensaje de error.
método nextBiginteger ()
Parece que los ingenieros de software nunca dejarán de encontrar cosas nuevas. Un gran entero es un entero cuyo valor es mucho mayor que el de un entero. Sin embargo, con Java, se puede leer de la misma manera que el entero. El siguiente código ilustra esto:
importar java.utilizar.Escáner;Tenga en cuenta la declaración de importación, "Importar Java.matemáticas.Biginteger; ". Además, tenga en cuenta que el tipo de entero grande se inicia con una mayúscula B y no una minúscula B.
método nextfloat ()
El siguiente token flotante como entrada también puede validar y aceptar. Se puede usar el siguiente código:
importar java.utilizar.Escáner;Un ejemplo de un número flotante es 23.456. Se han eliminado los espacios líderes o finales.
nextDouble ()
El siguiente token doble como entrada también se puede validar y aceptar. Se puede usar el siguiente código:
importar java.utilizar.Escáner;Un ejemplo de un número doble es 23.456. Un número doble es diferente de un flotador porque tiene menos margen de error. Se han eliminado los espacios líderes o finales.
Método NextLine ()
El método NextLine () es para una cadena. Si la cadena es la línea de entrada del teclado después de presionar Enter, puede tener el carácter Newline, '\ n'. Se puede usar el siguiente código:
importar java.utilizar.Escáner;Observe que el tipo de cadena se inicia con las mayúsculas y no con la minúscula S.
Los métodos NextLine (), HasNext () y Next () se han utilizado anteriormente en este artículo, en este artículo. El escáner tiene otros métodos y otros métodos de datos primitivos; ver más tarde.
Asignar entrada a una variable
La entrada se puede asignar a una variable, como muestra el siguiente código:
importar java.utilizar.Escáner;Conclusión
El escáner en Java es una clase en Java.Paquete Util. Esta clase tiene como objetivo leer la entrada de una cadena, el teclado, el archivo o el socket de red. Este artículo se ha concentrado principalmente en la lectura de la entrada del teclado y mostrando el resultado en la ventana del terminal. Se pueden usar ideas similares para leer la entrada de la cadena, el archivo o el canal de red.
Para leer toda la línea de entrada del teclado, use el método NextLine (). La línea como una cadena se puede dividir en tokens, utilizando los métodos Hasnext () y Next (), y el bucle While. El delimitador predeterminado para dividir es el espacio, pero el programador puede elegir algún otro delimitador. No olvide hacer CTRL+Z para detener el bucle While, si es necesario. La eliminación de espacios de plomo y finales se puede hacer utilizando otros esquemas no abordados en este artículo. La validación de los tokens también se puede hacer utilizando otros esquemas no abordados en este artículo.
Los valores primitivos se pueden leer usando nextBoolean (), nextbyte (), nextInt (), etc. Estos métodos nextxxxx () hacen validación y también eliminan los espacios líderes y posteriores.
El escáner Java tiene muchos más métodos. Sin embargo, el uso básico del escáner se ha explicado en este artículo. La selección de un token en realidad se realiza utilizando técnicas de expresión regulares. El uso de técnicas de expresión regulares es la discusión, por otro tiempo.