Cómo obtener la información del usuario en Java
-
Scanner
para obtener la entrada del usuario en Java -
BufferedReader
para obtener la entrada 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 Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn