Pour utiliser la classe de scanner, il doit être importé en premier. Après cela, un objet doit en être instancié. Après avoir utilisé l'objet scanner, il doit être fermé. L'objet de flux d'entrée qui représente le clavier est le système.dans. Le scanner a de nombreuses méthodes. Seuls ceux couramment utilisés seront expliqués dans cet article.
Contenu de l'article
Utilisation simple de la classe de scanner
Le code suivant demande à l'utilisateur de taper une phrase, puis il affiche la phrase:
Importer Java.user.Scanner;La première ligne importe la classe de scanner. Dans la fonction principale, la première ligne crée un objet de scanner en utilisant le «système.dans ”objet pour le clavier. Dès que l'objet scanner est créé, il commence à attendre l'entrée. La ligne suivante imprime une déclaration, demandant à l'utilisateur de taper une phrase. La ligne suivante dans le code utilise la méthode NextLine () de l'objet de scanner pour lire la phrase de l'utilisateur après avoir appuyé sur Entrée. La ligne après, dans le code, réimprime la phrase à la fenêtre du terminal. La dernière ligne ferme l'objet scanner.
Cracher la ligne d'entrée dans les valeurs
Le code suivant divise la ligne d'entrée dans les mots (jetons), en utilisant l'espace comme délimiteur:
Importer Java.user.Scanner;Hasnext () et Next () sont deux autres méthodes de l'objet scanner. Lorsque l'objet de scanner lit une ligne, il le maintient. suivant () accède au prochain jetons (mot). Hasnext () renvoie true s'il y a un autre jeton pas encore accessible.
Malheureusement, l'utilisateur devrait toujours saisir la contribution pour la division et la refonte avec ce code. Pour terminer tout cela, appuyez sur Ctrl + Z, et vous devriez être de retour à l'invite de commande.
Dans le code ci-dessus, le délimiteur sépare les jetons dans l'espace. Un autre personnage peut être utilisé. Le code suivant utilise la virgule. N'oubliez pas d'appuyer sur Ctrl + Z pour terminer la boucle si vous testez le code.
Importer Java.user.Scanner;Si vous testiez le code, vous auriez remarqué que les espaces de jetons ont été inclus dans le cadre de jetons (sortie). L'expression, Scanobj.usageDeliter («,»); tapé après la lecture de la ligne d'entrée; c'est ce qui fait de la virgule, le délimiteur.
Lecture et validation des types de données primitives
Méthode NextBoolean ()
Dans le code suivant, l'utilisateur devrait taper «vrai» ou «faux» sans les citations, puis appuyez sur la touche Entrée si l'utilisateur tape autre chose, tel que «oui» ou «non», un message d'erreur sera affiché.
Importer Java.user.Scanner;Étant donné que Java émettra un message d'erreur tant que l'entrée n'est pas vraie ou fausse exactement, «Sinon If» a été utilisée au lieu de «Else».
La différence entre les méthodes, Print et Println, est que Print s'attend à l'entrée sur la ligne actuelle, tandis que Println attend l'entrée sur la ligne suivante.
Méthode NextByte ()
Avec le jeu de caractères ASCII, un personnage est un octet. Cependant, avec quelques jeux de caractères orientaux, un personnage peut être composé de plus d'un octet. Indépendamment du jeu de caractères, la méthode NextByte lit et valide l'octet suivant de l'entrée. Le code suivant peut être utilisé à cet effet:
Importer Java.user.Scanner;Si un nombre supérieur à 127 ou un caractère alphabet est entré pour ce code, un message d'erreur serait émis.
Méthode NextInt ()
Le jeton entier suivant comme entrée peut également être validé et accepté. Le code suivant peut être utilisé:
Importer Java.user.Scanner;Les espaces de direction ou de fuite ont été supprimés. Pour ce code, toute valeur entière, y compris des valeurs supérieures à 127, serait acceptée. Avec ces méthodes NextXxx (), une fois la validation échouée, un message d'erreur est émis.
Méthode NextBigInteger ()
Il semble que les ingénieurs logiciels ne cessent de trouver de nouvelles choses. Un grand entier est un entier dont la valeur est beaucoup plus grande que celle d'un entier. Cependant, avec Java, il peut être lu de la même manière que l'entier. Le code suivant illustre ceci:
Importer Java.user.Scanner;Remarque l'instruction d'importation: «Importer Java.mathématiques.BigInteger; ». Notez également que le type entier grand est commencé avec une majuscule B et non une minuscule B.
Méthode NextFloat ()
Le jeton flottant suivant en tant qu'entrée peut également être validé et accepté. Le code suivant peut être utilisé:
Importer Java.user.Scanner;Un exemple de numéro de flotteur est de 23.456. Les espaces de direction ou de fuite ont été supprimés.
NextDouble ()
Le double jeton suivant comme entrée peut également être validé et accepté. Le code suivant peut être utilisé:
Importer Java.user.Scanner;Un exemple de double nombre est de 23.456. Un numéro double est différent d'un flotteur car il a moins de marge d'erreur. Les espaces de direction ou de fuite ont été supprimés.
Méthode NextLine ()
La méthode NextLine () est pour une chaîne. Si la chaîne est la ligne d'entrée du clavier après avoir appuyé sur Entrée, il peut avoir le caractère Newline, '\ n'. Le code suivant peut être utilisé:
Importer Java.user.Scanner;Notez que le type de chaîne est commencé avec les majuscules et non les minuscules.
Les méthodes NextLine (), Hasnext () et Next () ont été utilisées précédemment, dans cet article. Le scanner a d'autres méthodes et autres méthodes de données primitives - voir plus tard.
Attribuer une entrée à une variable
L'entrée peut être attribuée à une variable, comme le montre le code suivant:
Importer Java.user.Scanner;Conclusion
Le scanner en Java est une classe en Java.package util. Cette classe vise à lire l'entrée d'une chaîne, le clavier, le fichier ou le socket réseau. Cet article s'est concentré principalement sur la lecture des entrées du clavier et l'affichage du résultat à la fenêtre du terminal. Des idées similaires peuvent être utilisées pour lire les entrées de la chaîne, du fichier ou du canal réseau.
Pour lire toute la gamme d'entrée du clavier, utilisez la méthode Nextline (). La ligne en tant que chaîne peut être divisée en jetons, en utilisant les méthodes Hasnext () et Next (), et la boucle while. Le délimiteur par défaut pour la division est l'espace, mais le programmeur peut choisir un autre délimiteur. N'oubliez pas de faire Ctrl + Z pour arrêter la boucle while, si nécessaire. La suppression des espaces de leaders et de fuite peut être effectué en utilisant d'autres schémas non abordés dans cet article. La validation des jetons peut également être effectuée en utilisant d'autres schémas non abordés dans cet article.
Les valeurs primitives peuvent être lues à l'aide de NextBoolean (), NextByte (), NextInt (), etc. Ces méthodes NextXxx () font la validation et suppriment également les espaces de tête et de fuite.
Le scanner Java a beaucoup plus de méthodes. Cependant, l'utilisation de base du scanner a été expliquée dans cet article. La sélection d'un jeton est en fait effectuée en utilisant des techniques d'expression régulières. L'utilisation de techniques d'expression régulière est une discussion, pour une autre fois.