Introducción a la entrada de usuario de Java

En el programa Java, hay 3 formas en que podemos leer la entrada del usuario en el entorno de línea de comandos para obtener la entrada del usuario, la clase Java BufferedReader, la clase Java Scanner y la clase Console. Discutamos las clases en detalle. Usamos la clase Scanner para obtener la entrada del usuario. Este programa le pide al usuario que ingrese un número entero, una cadena y un flotante, y se imprimirá en la pantalla. La clase de escáner en java.util está presente para que podamos agregar este paquete a nuestro software. Primero, creamos un objeto Scanner Class y utilizamos el método Scanner Class.

3 formas de entrada de usuario Java

Hay tres formas de leer la entrada del usuario:

  1. Clase Java BufferedReader.
  2. Clase de escáner Java.
  3. Usando la consola Class.

Estas tres clases se mencionan a continuación, discutamos en detalle:

1. Clase Java BufferedReader

Extiende la clase de lector. BufferedReader lee la entrada de la secuencia de entrada de caracteres y almacena caracteres para almacenar una lectura eficiente de todas las entradas. El tamaño predeterminado es grande para el almacenamiento en búfer. Cuando el usuario realiza una solicitud de lectura, la solicitud correspondiente va al lector y realiza una solicitud de lectura de las secuencias de caracteres o bytes, por lo que la clase BufferedReader se envuelve alrededor de otras secuencias de entrada como FileReader o InputStreamReaders.

Por ejemplo:

BufferedReader reader = new BufferedReader(new FileReader(“foo.in”));
BufferedReader can read data line by line using method readLine() method.
BuffredReader can make the performance of code faster.

Constructores

BufferedReader tiene dos constructores como sigue:

1. BufferedReader (lector lector)

Se usa para crear una secuencia de caracteres de entrada en búfer que usa el tamaño predeterminado de un búfer de entrada.

2. BufferedReader (lector lector, tamaño de entrada)

Se usa para crear una secuencia de caracteres de entrada en búfer que usa el tamaño proporcionado para un búfer de entrada.

Las funciones
  • int read: se usa para leer un solo carácter.
  • int read (char () cbuffer, int offset, int length): se utiliza para leer caracteres en la parte especificada de una matriz.
  • String readLine (): se utiliza para leer la entrada línea por línea.
  • boolean ready (): se usa para probar si el búfer de entrada está listo para leer.
  • salto largo: se usa para omitir los caracteres.
  • void close (): cierra el búfer de flujo de entrada y los recursos del sistema asociados con el flujo.

Cuando el usuario ingresa el carácter desde el teclado, es leído por el búfer del dispositivo y luego desde System.in pasa al lector de búfer o lector de flujo de entrada y se almacena en el búfer de entrada.

Código:

import java.util.*;
import java.lang.*;
import java.io.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*package whatever //do not write package name here */
class BufferedReaderDemo (
public static void main (String() args) throws NumberFormatException, IOException (
System.out.println("Enter your number");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int t = Integer.parseInt(br.readLine());
System.out.println("Number you entered is: " + t);
System.out.println("Enter your string");
String s = br.readLine();
System.out.println("String you entered is: " + s);
)
)

Salida:

Programa con lectura de InputStreamReader y BufferedReader:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class BufferedReaderDemo (
public static void main(String args()) throws IOException(
InputStreamReader reader = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(reader);
System.out.println("What is your name?");
String name=br.readLine();
System.out.println("Welcome "+name);
)
)

Salida:

2. Clase de escáner Java

La clase java.util.scanner es una de las clases utilizadas para leer la entrada del usuario desde el teclado. Está disponible en el paquete de utilidades. Las clases de escáner rompen la entrada del usuario usando un delimitador que es principalmente espacios en blanco por defecto. El escáner tiene muchos métodos para leer la entrada de la consola de muchos tipos primitivos, como double, int, float, long, Boolean, short, byte, etc. Es la forma más sencilla de obtener entrada en java. La clase de escáner implementa las interfaces Iterator y Closeable. El escáner proporciona nextInt () y muchos métodos de tipo primitivo para leer entradas de tipos primitivos. El método next () se usa para entradas de cadena.

Constructores
  • Escáner (fuente del archivo): construye un escáner para leer desde un archivo especificado.
  • Escáner (fuente del archivo, String charsetName): construye un escáner para leer desde un archivo especificado.
  • Escáner (fuente InputStream), Escáner (fuente InputStream, String charsetName): construye el escáner para leer desde una secuencia de entrada especificada.
  • Escáner (0 Fuente legible): construye un escáner para leer desde una fuente legible especificada.
  • Escáner (fuente de cadena): construye un escáner para leer desde una fuente de cadena especificada.
  • Escáner (fuente ReadableByteChannel): construye un escáner para leer desde una fuente de canal especificada.
  • Escáner (fuente ReadableByteChannel, String charsetName): construye un escáner para leer desde una fuente de canal especificada.
Las funciones

A continuación se mencionan el método para escanear los tipos primitivos desde la entrada de la consola hasta la clase Scanner.

  • nextInt (),
  • nextFloat (),
  • nectDouble (),
  • nextLong (),
  • nextShort (),
  • nextBoolean (),
  • nextDouble (),
  • nextByte (),

Programa para leer desde la clase de escáner:

Using scanner class.
import java.util.Scanner;
/*package whatever //do not write package name here */
class ScannerDemo (
public static void main (String() args) (
Scanner sc = new Scanner(System.in);
System.out.println("Enter your number");
int t = sc.nextInt();
System.out.println("Number you entered is: " + t);
System.out.println("Enter your string");
String s = sc.next();
System.out.println("String you entered is: " + s);
)
)

Salida:

3. Usando la clase de consola

Usar la clase de consola para leer la entrada desde la interfaz de línea de comandos. No funciona en IDE.

Código:

public class Main
(
public static void main(String() args)
(
// Using Console to input data from user
System.out.println("Enter your data");
String name = System.console().readLine();
System.out.println("You entered: "+name);
)
)

Salida:

Artículos recomendados

Esta es una guía para la entrada de usuario de Java. Aquí discutimos las 3 formas en que podemos leer la entrada de usuario de Java del usuario en el entorno de línea de comandos. Este artículo le da una idea básica de todas las entradas que puede explorar con Java. También puede consultar el siguiente artículo.

  1. Anulación en Java
  2. SpringLayout en Java
  3. JFrame en Java
  4. Clase de envoltura en Java