Cómo obtener la entrada del usuario en Java [con ejemplos]

Publicado: 2021-05-27

Tabla 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.

Planifique su carrera de desarrollo de software ahora.

Solicite la certificación PG vinculada al trabajo de upGrad en ingeniería de software