Scanner Java (avec exemples)

Dans ce didacticiel, nous découvrirons le scanner Java et ses méthodes à l'aide d'exemples.

La Scannerclasse du java.utilpackage est utilisée pour lire les données d'entrée de différentes sources comme les flux d'entrée, les utilisateurs, les fichiers, etc. Prenons un exemple.

Exemple 1: lire une ligne de texte à l'aide du scanner

 import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter your name: "); // takes input from the keyboard String name = input.nextLine(); // prints the name System.out.println("My name is " + name); // closes the scanner input.close(); ) )

Production

 Entrez votre nom: Kelvin Je m'appelle Kelvin

Dans l'exemple ci-dessus, notez la ligne

 Scanner input = new Scanner(System.in);

Ici, nous avons créé un objet d' Scannerentrée nommée.

Le System.inparamètre est utilisé pour prendre l'entrée de l'entrée standard. Cela fonctionne comme si vous preniez des entrées sur le clavier.

Nous avons ensuite utilisé la nextLine()méthode de la Scannerclasse pour lire une ligne de texte de l'utilisateur.

Maintenant que vous en avez une idée Scanner, explorons-en davantage.

Importer une classe de scanner

Comme nous pouvons le voir dans l'exemple ci-dessus, nous devons importer le java.util.Scannerpackage avant de pouvoir utiliser la Scannerclasse.

 import java.util.Scanner;

Pour en savoir plus sur l'importation de packages, consultez la page Packages Java.

Créer un objet Scanner en Java

Une fois le package importé, voici comment créer des Scannerobjets.

 // read input from the input stream Scanner sc1 = new Scanner(InputStream input); // read input from files Scanner sc2 = new Scanner(File file); // read input from a string Scanner sc3 = new Scanner(String str);

Ici, nous avons créé des objets de la Scannerclasse qui liront respectivement les entrées de InputStream, File et String.

Méthodes du scanner Java pour prendre des entrées

La Scannerclasse fournit diverses méthodes qui nous permettent de lire des entrées de différents types.

Méthode La description
nextInt() lit une intvaleur de l'utilisateur
nextFloat() lit une floatvaleur de l'utilisateur
nextBoolean() lit une booleanvaleur de l'utilisateur
nextLine() lit une ligne de texte de l'utilisateur
next() lit un mot de l'utilisateur
nextByte() lit une bytevaleur de l'utilisateur
nextDouble() lit une doublvaleur e de l'utilisateur
nextShort() lit une shortvaleur de l'utilisateur
nextLong() lit une longvaleur de l'utilisateur

Exemple 2: Java Scanner nextInt ()

 import java.util.Scanner; class Main ( public static void main(String() args) ( // creates a Scanner object Scanner input = new Scanner(System.in); System.out.println("Enter an integer: "); // reads an int value int data1 = input.nextInt(); System.out.println("Using nextInt(): " + data1); input.close(); ) )

Production

 Entrez un entier: 22 En utilisant nextInt (): 22

Dans l'exemple ci-dessus, nous avons utilisé la nextInt()méthode pour lire une valeur entière.

Exemple 3: Java Scanner nextDouble ()

 import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter Double value: "); // reads the double value double value = input.nextDouble(); System.out.println("Using nextDouble(): " + value); input.close(); ) )

Production

 Entrez la valeur Double: 33,33 En utilisant nextDouble (): 33,33

Dans l'exemple ci-dessus, nous avons utilisé la nextDouble()méthode pour lire une valeur à virgule flottante.

Exemple 4: Scanner Java suivant ()

 import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter your name: "); // reads the entire word String value = input.next(); System.out.println("Using next(): " + value); input.close(); ) )

Production

 Entrez votre nom: Jonny Walker Utilisation suivant (): Jonny

Dans l'exemple ci-dessus, nous avons utilisé la next()méthode pour lire une chaîne de l'utilisateur.

Ici, nous avons fourni le nom complet. Cependant, la next()méthode lit uniquement le prénom.

Cela est dû au fait que la next()méthode lit l'entrée jusqu'au caractère d' espacement . Une fois que l' espace blanc est rencontré, il renvoie la chaîne (à l'exclusion de l'espace blanc).

Exemple 5: Java Scanner nextLine ()

 import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter your name: "); // reads the entire line String value = input.nextLine(); System.out.println("Using nextLine(): " + value); input.close(); ) )

Production

 Entrez votre nom: Jonny Walker En utilisant nextLine (): Jonny Walker

Dans le premier exemple, nous avons utilisé la nextLine()méthode pour lire une chaîne de l'utilisateur.

Contrairement à next(), la nextLine()méthode lit toute la ligne d'entrée, y compris les espaces. Le procédé est terminé lorsqu'il rencontre un caractère de ligne suivante, .

Recommended Reading: Java Scanner skipping the nextLine().

Java Scanner with BigInteger and BigDecimal

Java scanner can also be used to read the big integer and big decimal numbers.

  • nextBigInteger() - reads the big integer value from the user
  • nextBigDecimal() - reads the big decimal value from the user

Example 4: Read BigInteger and BigDecimal

 import java.math.BigDecimal; import java.math.BigInteger; import java.util.Scanner; class Main ( public static void main(String() args) ( // creates an object of Scanner Scanner input = new Scanner(System.in); System.out.print("Enter a big integer: "); // reads the big integer BigInteger value1 = input.nextBigInteger(); System.out.println("Using nextBigInteger(): " + value1); System.out.print("Enter a big decimal: "); // reads the big decimal BigDecimal value2 = input.nextBigDecimal(); System.out.println("Using nextBigDecimal(): " + value2); input.close(); ) )

Output

 Enter a big integer: 987654321 Using nextBigInteger(): 987654321 Enter a big decimal: 9.55555 Using nextBigDecimal(): 9.55555

In the above example, we have used the java.math.BigInteger and java.math.BigDecimal package to read BigInteger and BigDecimal respectively.

Working of Java Scanner

La Scannerclasse lit une ligne entière et divise la ligne en jetons. Les jetons sont de petits éléments qui ont une certaine signification pour le compilateur Java. Par exemple,

Supposons qu'il y ait une chaîne d'entrée:

 He is 22

Dans ce cas, l'objet scanner lira la ligne entière et divisera la chaîne en jetons: " He ", " is " et " 22 ". L'objet effectue ensuite une itération sur chaque jeton et lit chaque jeton à l'aide de ses différentes méthodes.

Remarque : Par défaut, les espaces sont utilisés pour diviser les jetons.

Articles intéressants...