¿Cómo podría leer la entrada de la consola usando la Scanner
clase? Algo como esto:
System.out.println("Enter your username: ");
Scanner = input(); // Or something like this, I don't know the code
Básicamente, todo lo que quiero es que el escáner lea una entrada para el nombre de usuario y asigne la entrada a una String
variable.
java
java.util.scanner
Hock3yPlayer
fuente
fuente
Respuestas:
Un ejemplo simple para ilustrar cómo
java.util.Scanner
funciona sería leer un solo enteroSystem.in
. Es realmente bastante simple.Para recuperar un nombre de usuario, probablemente usaría
sc.nextLine()
.También podría usarlo
next(String pattern)
si desea tener más control sobre la entrada, o simplemente validar lausername
variable.Encontrará más información sobre su implementación en la Documentación API para
java.util.Scanner
fuente
fuente
Leer datos desde la consola
BufferedReader
está sincronizado, por lo que las operaciones de lectura en un BufferedReader se pueden realizar de forma segura desde varios subprocesos Se puede especificar el tamaño del búfer o se puede usar el tamaño predeterminado ( 8192 ). El valor predeterminado es lo suficientemente grande para la mayoría de los propósitos.readLine () « solo lee datos línea por línea de la secuencia o fuente. Una línea se considera terminada por cualquiera de estos: \ n, \ r (o) \ r \ n
Scanner
divide su entrada en tokens usando un patrón delimitador, que por defecto coincide con espacios en blanco (\ s) y es reconocido porCharacter.isWhitespace
.« Hasta que el usuario ingrese datos, la operación de escaneo puede bloquearse, esperando la entrada. « Utilice el escáner ( BUFFER_SIZE = 1024 ) si desea analizar un tipo específico de token de una secuencia. « Sin embargo, un escáner no es seguro para subprocesos. Tiene que estar sincronizado externamente.
next () «Encuentra y devuelve el siguiente token completo de este escáner. nextInt () «Escanea el siguiente token de la entrada como int.
Código
Entradas y salidas de Stream
fuente
BufferedReader, Scanner
para leer datos de un archivo de red de archivo local (OR).Hay un problema con el método input.nextInt (): solo lee el valor int.
Entonces, al leer la siguiente línea usando input.nextLine (), recibe "\ n", es decir, la Enterclave. Entonces, para omitir esto, debe agregar input.nextLine ().
Pruébalo así:
fuente
Hay varias formas de obtener información del usuario. Aquí en este programa tomaremos la clase Scanner para lograr la tarea. Esta clase de escáner se incluye
java.util
, por lo tanto, la primera línea del programa es import java.util.Scanner; que permite al usuario leer valores de varios tipos en Java. La línea de la declaración de importación debería estar en la primera línea del programa de Java, y procederemos a buscar el código.Para acceder a los métodos en la clase Scanner, cree un nuevo objeto de escáner como "in". Ahora usamos uno de sus métodos, que es "siguiente". El método "siguiente" obtiene la cadena de texto que un usuario ingresa en el teclado.
Aquí estoy usando
in.nextLine();
para obtener la cadena que ingresa el usuario.fuente
fuente
Puede hacer un programa simple para pedir el nombre del usuario e imprimir cualquier entrada que use la respuesta.
O pídale al usuario que ingrese dos números y usted puede sumar, multiplicar, restar o dividir esos números e imprimir las respuestas para las entradas del usuario al igual que el comportamiento de una calculadora.
Entonces allí necesitas la clase Scanner. Tiene que hacerlo
import java.util.Scanner;
, y en el código que necesita usar:input
es un nombre variableVer en qué se diferencia:
input.next();
,i = input.nextInt();
,d = input.nextDouble();
Según una cadena, int y un doble varían de la misma manera para el resto. No olvide la declaración de importación en la parte superior de su código.
fuente
Un simple ejemplo:
fuente
Cuando el usuario ingresa su / ella
username
, verifique también la entrada válida.fuente
Para leer la entrada:
Para leer la entrada cuando llama a un método con algunos argumentos / parámetros:
fuente
fuente
Aquí está la clase completa que realiza la operación requerida:
fuente
Scanner
.Puedes hacer fluir este código:
fuente
Puedes usar la clase Scanner en Java
fuente
Hay una manera simple de leer desde la consola.
Por favor encuentre el siguiente código:
Para una comprensión detallada, consulte los siguientes documentos.
Doc
Ahora hablemos sobre la comprensión detallada del funcionamiento de la clase Scanner:
Este es el constructor para crear la instancia de Scanner.
Aquí estamos pasando la
InputStream
referencia que no es más que aSystem.In
. Aquí abre elInputStream
Pipe para la entrada de la consola.Al pasar System.in, este código abrirá el socket para leer desde la consola.
fuente