¿Cómo tomar la entrada del usuario separada por espacio en Java?

Hay 2 métodos para tomar la entrada del usuario que están separados por espacios que son los siguientes:

  1. Usando BufferedReader Class y luego dividiendo y analizando cada valor
  2. Usando el método nextInt() de la clase Scanner

Discutamos ambos métodos uno por uno para obtener una mejor comprensión implementando los mismos programas limpios de Java. 

Método 1: 

Usando BufferedReader Class y luego dividiendo y analizando cada valor.

Procedimiento:

  1. Usando el método readline() de BufferedReader y escanear toda la string.
  2. Dividir esta string para str.split(” “)
  3. Itere sobre la array anterior y analice cada valor entero usando Integer.parseInt().

Ejemplo 

Java

// Java Program to Take Input from User Separated by Space
// Using BufferedReader class
 
// Importing required classes
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
// Main class
// BufferedReaderTest
class GFG {
 
    // Main driver method
    public static void main(String[] args)
        throws IOException
    {
 
        // Creating an object of BufferedReader class
        BufferedReader bi = new BufferedReader(
            new InputStreamReader(System.in));
 
        // Custom integer array of size 10
        int num[] = new int[10];
        // Array of string type to store input
        String[] strNums;
 
        // Display message
        System.out.println("enter string of numbers");
 
        // Reading input a string
        strNums = bi.readLine().split(" ");
 
        for (int i = 0; i < strNums.length; i++) {
            num[i] = Integer.parseInt(strNums[i]);
        }
 
        // Display message
        System.out.println("printing stored numbers ");
 
        // Printing the stored numbers using for loop
        for (int i = 0; i < strNums.length; i++) {
            System.out.println(num[i]);
        }
    }
}

Producción:

FIG = SALIDA DEL MÉTODO 1 

Método 2: Usar el método nextInt() de la clase Scanner.

Procedimiento: 

  1. Usar el método nextInt() de la clase Scanner y escanear para escanear la entrada.
  2. Usando for loop para almacenar la entrada en una array.
  3. Iterar a través de la array anterior y analizar cada entero usando sc.nextInt()

Ejemplo 

Java

// Java Program to Take Input from User Separated by Space
// Using Scanner class
 
// Importing required classes
import java.io.IOException;
import java.util.Scanner;
 
// Main class
// Scanner class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
        throws IOException
    {
 
        // Display message for better readability
        System.out.println("enter input ");
 
        // Creating an object of Scanner class
        Scanner sc = new Scanner(System.in);
 
        // Declaring and initializing an array of size 10
        int[] nums = new int[10];
        int i;
 
        // Loop to store input values in nums array
        for (i = 0; i < nums.length; i++) {
            nums[i] = sc.nextInt();
        }
 
        //  Display message
        System.out.println("printing stored values");
 
        // Printing stored values
        for (i = 0; i < nums.length; i++) {
            System.out.println(nums[i] + " ");
        }
    }
}

Producción:

FIG = SALIDA DEL MÉTODO 2

Nota: El primer método que usa la clase Bufferedreader y luego divide y analiza cada valor es mucho más rápido que usar el método nixing() de la clase Scanner. Es casi 2 veces más rápido que el segundo. A continuación, proporcionamos cómo calcular el tiempo consumido por ambos métodos utilizando el método de nanotiempo. 

// Initializing variables
long startTime, endTime;

// Start time
startTime = System.nanoTime(); {

// Insert code here
// Method 1 or method 2 code
}

// End time
endTime = System.nanoTime();

Publicación traducida automáticamente

Artículo escrito por kamal251199 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *