Cómo obtener la entrada del usuario en Java [con ejemplos]
Publicado: 2021-05-27Tabla de contenido
Introducción
Tomar la entrada del usuario en Java es el primer paso para crear software exitoso en Java. El programa Java recopila información del usuario a través de varias fuentes de entrada, como un mouse, teclado, solicitud de red, argumentos CLI, etc. Java también tiene varios paquetes de E/S que se pueden importar al programa para realizar operaciones de entrada y salida. Estos paquetes admiten la entrada de tipos primitivos como doble, entero, cadenas, etc.
Este artículo se centrará en métodos como Scanner, BufferedReader e InputStreamReader para tomar la entrada del usuario en Java .
¿Cómo tomar entrada en Java usando la clase Scanner?
La clase Scanner es uno de los métodos en el paquete "java.util" que analiza y maneja todas las entradas de tipo primitivo. La clase Scanner le pide al usuario que ingrese la entrada y luego imprime lo mismo en la pantalla o consola. Puede importar la clase Scanner desde el paquete "java.util" en el programa y crear un objeto para usar sus métodos.
Por ejemplo,
Prueba de escáner = nuevo escáner (System.in);
En la declaración anterior, la prueba es el nombre de un objeto y System.in es el flujo de entrada. La instancia de Scanner creada escaneará la entrada del usuario en Java .
Nota: No es necesario escribir System.in como cadena de entrada en su programa. Puede reemplazarlo con un archivo y un archivo para leer, cadena como flujo de entrada.
Por ejemplo,
Prueba de escáner = nuevo escáner (nuevo FileInputStream ("testFile.txt"), "UTF-8");
Asegúrese de escribir el código {test.close()} para cerrar el escáner cuando termine de editarlo.
Métodos de escáner para leer entradas del usuario
La siguiente tabla enumera los métodos que utiliza el escáner para leer la entrada en Java ingresada por el usuario.
Método | Tipo de retorno | Descripción |
Próximo() | Cuerda | Devuelve el siguiente token del escáner |
siguienteByte() | Byte | Lee la siguiente entrada como un byte. |
siguienteFlotante() | Flotador | Lee la siguiente entrada como un flotante. |
siguienteInt() | Entero | Lee la siguiente entrada como un número entero. |
siguienteCorto() | Pequeño | Lea la siguiente entrada como un corto. |
siguienteLargo() | Largo | Lea la siguiente entrada como larga. |
siguienteBooleano() | booleano | Lee la siguiente entrada como valor booleano y devuelve el valor. |
Proxima linea() | Cuerda | Avanza el escáner una línea y devuelve la entrada omitida. |
Ejemplo
El siguiente programa de Java usa la clase Scanner para tomar la entrada del usuario en Java (cadena, entero y flotante).
importar java.util.Scanner; clase TakeUserInput { public static void main(String args[]) { en un; flotador b; Cadena c; Prueba de escáner = nuevo escáner (System.in); //Tomar la entrada del usuario como cadena System.out.println(“Escriba una cadena: “); c = en.nextLine(); System.out.println(“La cadena de entrada del usuario es: “+c); //Tomar la entrada del usuario como un entero System.out.println(“Escriba un número entero: “); a = en.nextInt(); System.out.println(“El número entero ingresado por el usuario es: “+a); //Tomar la entrada del usuario como flotante System.out.println(“Escriba un número flotante: “); b = en.nextFloat(); System.out.println(“El número flotante de entrada de usuario es: “+b); }} |
Producción
Escriba una cadena: Andrés La cadena de entrada del usuario es: Andrew Escriba un número entero: 03 El entero ingresado por el usuario es: 03 Escriba un número flotante: 61.46 El número flotante de entrada de usuario es: 61.46 |
Si desea obtener más información sobre la entrada de datos en Java con la clase de escáner, consulte el blog Entrada de cadenas múltiples en Java con el escáner .
Métodos BufferedReader y InputStreamReader
BufferedReader es otra clase en Java que escanea el flujo de caracteres desde un flujo de entrada basado en caracteres. InputStreamReader es una función en Java que convierte el flujo de entrada en una secuencia de caracteres para que BufferedReader los escanee. La clase BufferedReader acepta InputStream como parámetro.
La clase BufferedReader usa los métodos read() y readLine() para leer caracteres y la siguiente línea y los devuelve.
Debe importar el paquete java.io.BufferedReader para crear una clase BufferedReader.
// Crea un Lector de Archivos
Prueba de FileReader = nuevo FileReader (archivo de cadena);
// Crea un BufferedReader
BufferedReader a = new BufferedReader(prueba);
Obtenga títulos de ingeniería de software en línea de las mejores universidades del mundo. Obtenga programas Executive PG, programas de certificados avanzados o programas de maestría para acelerar su carrera.
Métodos BufferedReader para leer entradas del usuario
La siguiente tabla enumera los métodos que utiliza el lector almacenado en búfer para leer la entrada en Java ingresada por el usuario.
Método | Descripción |
Listo() | Verifica si el lector de archivos está en estado de lectura. |
marca() | Marca la posición en el lector con respaldo hasta la que se han leído los datos. |
Reiniciar() | Devuelve el control al punto donde se fijó la marca. |
Ejemplo
El siguiente programa Java usa una clase BufferedReader junto con una clase InputStreamReader para tomar la entrada del usuario en Java .
importar java.io.BufferedReader; importar java.io.FileReader; importar java.io.IOException; prueba de clase pública { public static void main(String[] args) { Búfer BufferedReader = nulo; tratar { Cadena escanearPrimeraLínea; buffer = new BufferedReader(new FileReader(“D:\\user_input.txt”)); while ((escanearPrimeraLínea = buffer.readLine()) != null) { System.out.println(scanFirstLine); } } captura (IOException a) { a.printStackTrace(); } finalmente { tratar { si (búfer! = nulo) búfer.cerrar(); } captura (IOException b) { b.printStackTrace(); } } } } |
Producción
En el archivo se encuentran los siguientes datos: Esta es una instrucción de muestra que BufferedReader lee del archivo. |
En el ejemplo anterior, creamos un lector almacenado en búfer llamado buffer. El lector almacenado en búfer está vinculado con el archivo "user_input.txt".
Luego, usamos el método readLine() para escanear los caracteres del búfer del lector almacenado en búfer.
Conclusión
En este artículo, hemos cubierto los métodos utilizados para tomar la entrada del usuario en Java . Hemos discutido los métodos Scanner y BufferedReader, junto con ejemplos. También hemos discutido los métodos que usan las clases Scanner y BufferedReader para recibir información en Java . Esperamos que tenga una comprensión básica de cómo manejar la entrada en Java . Si desea obtener más información sobre el lenguaje de programación Java, consulte el curso Executive PG Program in Full Stack Development de upGrad diseñado para profesionales que trabajan.