Leer entrada de System.in en Java

Mohammad Irfan 12 octubre 2023
  1. Lea la entrada usando System.in en Java
  2. Leer entrada usando la clase System.in y BufferedReader en Java
  3. Leer entrada utilizando el método System.console() en Java
Leer entrada de System.in en Java

Este tutorial presenta cómo leer la entrada del usuario desde la consola usando System.in en Java.

Java proporciona una clase de flujo de bajo nivel System para leer la entrada del usuario, que utiliza un flujo de entrada para leer la entrada. El System es una clase en Java que ayuda a realizar tareas relacionadas con el sistema.

Podemos pasar esto a la clase Scanner, y luego usando sus métodos; podemos obtener entradas del usuario de varios tipos, como String, int, float, etc. Entendamos con algunos ejemplos.

Lea la entrada usando System.in en Java

Usar el System.in en un código Java es fácil; pase la clase en el constructor Scanner y use el método nextLine(). Este método lee y devuelve una cadena.

Vea el ejemplo a continuación.

import java.util.Scanner;

public class SimpleTesting {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.println("Enter a value :");
    String str = sc.nextLine();
    System.out.println("User input: " + str);
  }
}

Producción :

Enter a value :
2
User input: 2

Leer entrada usando la clase System.in y BufferedReader en Java

Esta es otra solución para leer la entrada del usuario donde usamos la clase BufferedReader en lugar de la clase Scanner. Este código hace la misma tarea, y aquí usamos el método readLine() para leer los datos.

Este método pertenece a la clase BufferedReader y devuelve una cadena. Vea el ejemplo a continuación.

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

public class SimpleTesting {
  public static void main(String[] args) throws IOException {
    System.out.println("Enter a value :");
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String str = br.readLine();
    System.out.println(str);
  }
}

Producción :

Enter a value :
sam
sam

Leer entrada utilizando el método System.console() en Java

La clase System de Java proporciona un método console() para hacer frente a las tareas relacionadas con la consola. Entonces, para leer datos, también podemos usar este método.

Este método devuelve un objeto de consola mediante el cual podemos llamar al método readLine() para leer datos. Vea el ejemplo a continuación.

import java.io.Console;
import java.io.IOException;

public class SimpleTesting {
  public static void main(String[] args) throws IOException {
    Console c = System.console();
    System.out.println("Enter a value : ");
    String str = c.readLine();
    System.out.println(str);
  }
}

Producción :

Enter a value :
sam
sam

La clase Java Scanner se usa comúnmente para leer datos de usuario y proporciona métodos para cada tipo de datos.

Podemos usar estos métodos para leer datos específicos. Algunos de ellos están a continuación.

public int nextInt(); // reads integer input
public float nextFloat(); // reads decimal input
public String nextLine(); // reads string input

En el siguiente ejemplo, usamos estos métodos para leer un tipo diferente de entrada de usuario en Java. Le ayudará a comprender la consola de Java.

Vea el ejemplo a continuación.

import java.io.IOException;
import java.util.Scanner;

public class SimpleTesting {
  public static void main(String[] args) throws IOException {
    Scanner sc = new Scanner(System.in);
    System.out.println("Enter a string value : ");
    String str = sc.nextLine();
    System.out.println(str);
    System.out.println("Enter an int value : ");
    int a = sc.nextInt();
    System.out.println(a);
    System.out.println("Enter a float value : ");
    float f = sc.nextFloat();
    System.out.println(f);
  }
}

Producción :

Enter a string value : 
string
string
Enter an int value : 
23
23
Enter a float value : 
34
34.0

Artículo relacionado - Java Input