Classe d'analyseur Java
Classe d'analyseur Java
Dans ce didacticiel, nous allons découvrir Java Scanner et ses méthodes à l'aide d'exemples.
Le Scanner
classe du java.util
package est utilisé pour lire les données d'entrée à partir de différentes sources telles que les flux d'entrée, les utilisateurs, les fichiers, etc. Prenons un exemple.
Exemple 1 :Lire une ligne de texte à l'aide d'un 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();
}
}
Sortie
Enter your name: Kelvin My name is Kelvin
Dans l'exemple ci-dessus, notez la ligne
Scanner input = new Scanner(System.in);
Ici, nous avons créé un objet de Scanner
nommée entrée .
Le System.in
Le paramètre est utilisé pour prendre l'entrée de l'entrée standard. Cela fonctionne comme si vous preniez des entrées au clavier.
Nous avons ensuite utilisé le nextLine()
méthode du Scanner
class pour lire une ligne de texte de l'utilisateur.
Maintenant que vous avez une idée de Scanner
, explorons plus à ce sujet.
Importer une classe de scanner
Comme nous pouvons le voir dans l'exemple ci-dessus, nous devons importer le java.util.Scanner
package avant de pouvoir utiliser le Scanner
classe.
import java.util.Scanner;
Pour en savoir plus sur l'importation de packages, consultez Packages Java.
Créer un objet scanner en Java
Une fois que nous avons importé le package, voici comment nous pouvons créer Scanner
objets.
// 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 du Scanner
classe qui lira respectivement l'entrée de InputStream, File et String.
Méthodes du scanner Java pour prendre des entrées
Le Scanner
La classe fournit diverses méthodes qui nous permettent de lire des entrées de différents types.
Méthode | Description |
---|---|
nextInt() | lit un int valeur de l'utilisateur |
nextFloat() | lit un float valeur de l'utilisateur |
nextBoolean() | lit un boolean valeur de l'utilisateur |
nextLine() | lit une ligne de texte de l'utilisateur |
next() | lit un mot de l'utilisateur |
nextByte() | lit un byte valeur de l'utilisateur |
nextDouble() | lit un doubl e valeur de l'utilisateur |
nextShort() | lit un short valeur de l'utilisateur |
nextLong() | lit un long valeur de l'utilisateur |
Exemple 2 :Analyseur Java 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();
}
}
Sortie
Enter an integer: 22 Using nextInt(): 22
Dans l'exemple ci-dessus, nous avons utilisé le nextInt()
méthode pour lire une valeur entière.
Exemple 3 :analyseur Java 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();
}
}
Sortie
Enter Double value: 33.33 Using nextDouble(): 33.33
Dans l'exemple ci-dessus, nous avons utilisé le nextDouble()
méthode pour lire une valeur à virgule flottante.
Exemple 4 :Analyseur 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();
}
}
Sortie
Enter your name: Jonny Walker Using next(): Jonny
Dans l'exemple ci-dessus, nous avons utilisé le next()
méthode pour lire une chaîne de l'utilisateur.
Ici, nous avons fourni le nom complet. Cependant, le next()
la méthode ne lit que le prénom.
C'est parce que le next()
la méthode lit l'entrée jusqu'à l'espace blanc personnage. Une fois l'espace blanc est rencontré, il renvoie la chaîne (hors espace).
Exemple 5 :Analyseur Java 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();
}
}
Sortie
Enter your name: Jonny Walker Using nextLine(): Jonny Walker
Dans le premier exemple, nous avons utilisé le nextLine()
méthode pour lire une chaîne de l'utilisateur.
Contrairement à next()
, le nextLine()
La méthode lit toute la ligne d'entrée, y compris les espaces. La méthode se termine lorsqu'elle rencontre un caractère de ligne suivant, \n
.
Lecture recommandée : Scanner Java en sautant la ligne suivante().
Scanner Java avec BigInteger et BigDecimal
Le scanner Java peut également être utilisé pour lire les grands entiers et les grands nombres décimaux.
- suivantBigInteger() - lit la grande valeur entière de l'utilisateur
- suivantBigDecimal() - lit la grande valeur décimale de l'utilisateur
Exemple 4 :Lire BigInteger et 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();
}
}
Sortie
Enter a big integer: 987654321 Using nextBigInteger(): 987654321 Enter a big decimal: 9.55555 Using nextBigDecimal(): 9.55555
Dans l'exemple ci-dessus, nous avons utilisé le java.math.BigInteger
et java.math.BigDecimal
paquet à lire BigInteger
et BigDecimal
respectivement.
Fonctionnement du scanner Java
Le Scanner
classe 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 existe 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 ", "est " et "22 ". L'objet itère ensuite sur chaque jeton et lit chaque jeton en utilisant ses différentes méthodes.
Remarque :Par défaut, les espaces sont utilisés pour diviser les jetons.
Java