Saltar al contenido

¿Qué significa realmente Scanner input = new Scanner(System.in)?

Esta es la contestación más exacta que encomtrarás compartir, pero mírala pausadamente y valora si se adapta a tu proyecto.

Solución:

Muy bien, vamos a elaborar con una explicación simplificada sobre el Scanner clase.

Es una clase estándar de Oracle que puede usar llamando al import java.util.Scanner.

Así que hagamos un ejemplo básico de la clase:

class Scanner
   InputStream source;

   Scanner(InputStream src)
       this.source = src;
   

   int nextInt()
       int nextInteger;
       //Scans the next token of the input as an int from the source.
       return nextInteger;
   

Ahora cuando llamas Scanner input = new Scanner(System.in); haces un nuevo objeto del Scanner clase (así que creas un nuevo “Escáner”) y lo almacenas en la variable input. Al mismo tiempo, está llamando al (así llamado) constructor de la clase, con el parámetro System.in. Eso significa que va a leer desde el flujo de entrada estándar del programa.

Ahora cuando estás llamando input.nextInt(); ejecuta el método desde el objeto que acaba de crear (también documentado). Pero como vemos, este método devuelve un número entero, por lo que si queremos usar ese número entero, tenemos que asignar la llamada a una variable como lo haces tú:

int i = input.nextInt();

Scanner input = new Scanner(System.in); crea un nuevoScanner instancia que apunta a la flujo de entrada pasado como argumento. En tu caso el vapor es Flujo de entrada estándar.

Entonces, una vez que su instancia de escáner lo señale, puede escanear la corriente y obtener integers, strings y hacer otras cosas.

Comentarios y puntuaciones

Acuérdate de que tienes concesión de explicar tu experiencia si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 4)



Utiliza Nuestro Buscador

Deja una respuesta

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