Cómo obtener la información del usuario en Java

Rupam Yadav 12 octubre 2023
  1. Scanner para obtener la entrada del usuario en Java
  2. BufferedReader para obtener la entrada del usuario en Java
Cómo obtener la información del usuario en Java

En este artículo, discutiremos el mejor enfoque para conseguir la entrada del usuario en Java. Aunque hay muchas maneras de hacerlo, algunos de esos métodos ya están obsoletos, y por lo tanto los evitaremos.

Scanner para obtener la entrada del usuario en Java

Podemos usar el Scanner para lograr nuestro objetivo. Necesitamos crear un objeto de la clase y pasarle System.in a su constructor porque abre un InputStream para obtener información del usuario.

El siguiente paso es usar el objeto Scanner y llamar a uno de los siguientes métodos. Cada método toma el valor de entrada de diferentes tipos de datos.

Método Descripción
next() Valor de la cadena
nextInt() Valor entero
nextByte() Valor de los bytes
nextLong() Valor largo
nextFloat() Valor de la flotación
nextDouble() Doble valor

En nuestro ejemplo a continuación, usaremos el método nextInt(), que toma valores enteros.

Ejemplo:

import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    Scanner inputReader = new Scanner(System.in);
    System.out.println("Enter a number: ");
    int number = inputReader.nextInt();

    System.out.println("Your entered number was: " + number);
  }
}

Resultado:

Enter a number: 
454
Your entered number was: 454

BufferedReader para obtener la entrada del usuario en Java

Tenemos otra clase que podría obtener la información del usuario. BufferedReader usa flujos de caracteres para leer el texto de la entrada, mientras que Scanner puede ser usado cuando somos el tipo primitivo de entrada.

Esto significa que no tiene métodos como nextInt() en la clase BufferedReader, sino que tiene un método readLine() que toma la entrada y luego podemos analizarla más tarde.

En el siguiente ejemplo, estamos tomando la entrada como una int. Tenemos que leer la entrada y luego parsearla en tipo int usando Integer.parseInt(String). Debemos rodear las declaraciones con un bloque try-catch ya que IOException puede aparecer si no hay dispositivos de entrada externos.

Ejemplo:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
  public static void main(String[] args) throws IOException {
    InputStreamReader isr = new InputStreamReader(System.in);
    BufferedReader br = new BufferedReader(isr);

    try {
      System.out.println("Please enter a number: ");
      String s = br.readLine();
      int i = Integer.parseInt(s);

      System.out.println("Your entered number was: " + i);
    } catch (IOException e) {
      e.printStackTrace();
    }

    br.close();
  }
}

Resultado:

Please enter a number: 
454
Your entered number was: 454
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Artículo relacionado - Java Input