web-dev-qa-db-fra.com

Que signifie réellement Scanner input = new Scanner (System.in)?

Scanner input = new Scanner(System.in);

Pourriez-vous me donner une explication détaillée de ce que le code ci-dessus fait étape par étape? Je ne comprends pas vraiment comment ça marche et comment ça me relie plus tard pour pouvoir faire cette déclaration:

int i = input.nextInt()
5
The Man

Très bien, développons avec quelques explications simplifiées sur la classe Scanner .

C'est une classe Oracle standard que vous pouvez utiliser en appelant le import Java.util.Scanner.

Faisons donc un exemple de base de la classe:

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;
   }
}

Désormais, lorsque vous appelez Scanner input = new Scanner(System.in);, vous créez un nouvel objet de la classe Scanner (vous créez donc un nouveau "Scanner") et vous le stockez dans la variable input. En même temps, vous appelez le (ainsi appelé) constructeur de la classe, avec le paramètre System.in. Cela signifie qu'il va lire à partir du flux d'entrée standard du programme.

Désormais, lorsque vous appelez input.nextInt();, vous exécutez la méthode à partir de l'objet que vous venez de créer (également documenté ). Mais comme nous le voyons, cette méthode retourne un entier, donc si nous voulons utiliser cet entier, nous devons assigner l'appel à une variable comme vous le faites:

int i = input.nextInt();
6
moffeltje

Scanner input = new Scanner(System.in); crée une instance newScanner qui pointe vers le flux input transmis en tant qu'argument. Dans votre cas, le flux Steam est flux d'entrée standard.

Ainsi, une fois que votre instance de scanner pointe vers elle, vous pouvez analyser le flux et obtenir integers, strings et effectuer d'autres opérations.

2
TheLostMind

Scanner s = nouveau Scanner (System.in);

Au-dessus de l'instruction, nous créons un objet d'une classe Scanner définie dans import Java.util.scanner package classe de scanner permet à l'utilisateur de prendre la console de formulaire de saisie.

System.in est passé en tant que paramètre dans la classe du scanner indiquera au compilateur Java. 

0
DEVENDRA PARIHAR
Scanner input = new Scanner(System.in);

Crée un nouvel objet de type Scanner à partir de l'entrée standard du programme (dans ce cas probablement de la console) Et.

int i = input.nextInt()

utilise la méthode nextInt de cet objet, ce qui vous permet de saisir du texte qui sera analysé dans un entier. 

0