Maison > Java > javaDidacticiel > Explication détaillée du fonctionnement du scanner en Java

Explication détaillée du fonctionnement du scanner en Java

WBOY
Libérer: 2023-06-15 20:43:44
original
17116 Les gens l'ont consulté

Scanner est une classe couramment utilisée en Java, utilisée pour lire les données d'entrée à partir de la console ou d'un fichier. Il fournit un moyen simple d'analyser les types et les chaînes de base et prend en charge les expressions régulières correspondantes.

La classe Scanner se trouve dans le package java.util, vous devez donc importer ce package lors de l'écriture d'un programme. Avant de commencer à utiliser Scanner, nous devons créer un objet Scanner pour accéder à la source d'entrée.

La syntaxe pour créer un objet Scanner est la suivante :

Scanner scanner = new Scanner(System.in);
Copier après la connexion

Le code ci-dessus crée un objet Scanner, qui peut être utilisé pour lire les données du flux d'entrée standard. De plus, nous pouvons également utiliser d'autres flux d'entrée pour créer des objets Scanner.

Jetons un coup d'œil à certaines opérations du scanner couramment utilisées.

  1. Lecture d'une chaîne

Nous pouvons lire une chaîne en utilisant la méthode next(), qui lit le mot suivant dans l'entrée de la console et renvoie une chaîne.

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个字符串:");
String str = scanner.next();
System.out.println("你输入的字符串是:" + str);
Copier après la connexion

Le résultat de l'exécution du code ci-dessus :

请输入一个字符串:Hello World!
你输入的字符串是:Hello
Copier après la connexion

Le code ci-dessus ne lit que le premier mot "Bonjour" dans l'entrée, car la méthode next() utilise des espaces pour séparer la chaîne d'entrée par défaut, elle ne lit donc que le premier mot dans l'entrée. Si vous devez lire la chaîne entière, vous pouvez utiliser la méthode nextLine().

  1. Lecture d'entiers

Nous pouvons utiliser nextInt() ou nextLong() pour lire un entier ou un entier long Si l'entrée n'est pas de type numérique, une exception InputMismatchException sera levée.

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数:");
int num = scanner.nextInt();
System.out.println("你输入的整数是:" + num);
Copier après la connexion

Le résultat de l'exécution du code ci-dessus :

请输入一个整数:123
你输入的整数是:123
Copier après la connexion
  1. Lire des données en virgule flottante

Nous pouvons utiliser nextFloat() ou nextDouble() pour lire des données en virgule flottante. Si l’entrée n’est pas une donnée à virgule flottante, une exception InputMismatchException sera levée.

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个浮点数:");
float f = scanner.nextFloat();
System.out.println("你输入的浮点数是:" + f);
Copier après la connexion

Les résultats de l'exécution du code ci-dessus :

请输入一个浮点数:3.14
你输入的浮点数是:3.14
Copier après la connexion
  1. Lire les données de type booléen

Nous pouvons utiliser la méthode nextBoolean() pour lire des données de type booléen. Si la valeur d'entrée n'est pas vraie ou fausse, une exception InputMismatchException sera. jeté.

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个布尔值(true/false):");
boolean b = scanner.nextBoolean();
System.out.println("你输入的布尔值是:" + b);
Copier après la connexion

Le résultat de l'exécution du code ci-dessus :

请输入一个布尔值(true/false):true
你输入的布尔值是:true
Copier après la connexion
  1. Lire l'expression régulière

Scanner fournit également une méthode findInLine() pour lire les expressions régulières. Cette méthode lit la première occurrence de l'expression régulière dans l'entrée de la console et renvoie une chaîne correspondante.

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个正则表达式:");
String pattern = scanner.findInLine("\d+");
System.out.println("你输入的正则表达式匹配的字符串是:" + pattern);
Copier après la connexion

Le résultat de l'exécution du code ci-dessus :

请输入一个正则表达式:Hello 123 World!
你输入的正则表达式匹配的字符串是:123
Copier après la connexion

Ce qui précède sont quelques opérations courantes de la classe Scanner. J'espère que cela sera utile à tous ceux qui apprennent Java.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal