Hay 2 métodos para tomar la entrada del usuario que están separados por espacios que son los siguientes:
- Usando BufferedReader Class y luego dividiendo y analizando cada valor
- 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:
- Usando el método readline() de BufferedReader y escanear toda la string.
- Dividir esta string para str.split(” “)
- 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:
Método 2: Usar el método nextInt() de la clase Scanner.
Procedimiento:
- Usar el método nextInt() de la clase Scanner y escanear para escanear la entrada.
- Usando for loop para almacenar la entrada en una array.
- 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:
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