Maison > Java > Javacommencer > Introduction détaillée à la classe scanner en Java

Introduction détaillée à la classe scanner en Java

王林
Libérer: 2019-11-26 13:13:43
avant
3419 Les gens l'ont consulté

Introduction détaillée à la classe scanner en Java

1. Étapes d'implémentation du Scanner

Première étape : Dans la première ligne de code valide, importez la classe Scanner via l'importation !

import java.util.Scanner;
Copier après la connexion

Étape 2 : Instanciez un objet Scanner via le nouveau mot-clé !

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

--> La seule variable est le nom de la variable d'entrée !

Étape 3 : Appeler la méthode dans la classe Scanner via l'objet Scanner pour obtenir le contenu saisi par l'utilisateur sur la console

Tutoriels vidéo liés à Java : Java learning

Obtenir des données des types de données de base

input.nextByte();–> 获取用户在控制台输入的内容,返回数据类型为byte类型!
input.nextShort();–> 获取用户在控制台输入的内容,返回数据类型为short类型!
input.nextInt();–> 获取用户在控制台输入的内容,返回数据类型为int类型!
input.nextLong(); --> 获取用户在控制台输入的内容,返回数据类型为long类型!
input.nextFloat(); --> 获取用户在控制台输入的内容,返回数据类型为float类型!
input.nextDouble();–> 获取用户在控制台输入的内容,返回数据类型为double类型!
input.nextBoolean(); --> 获取用户在控制台输入的内容,返回数据类型为boolean类型!
Copier après la connexion

--> Lorsque l'utilisateur saisit du contenu et appuie sur Entrée, obtenez le contenu avant le premier espace !

Obtenir les données du type de données de référence

input.next(); --> 获取用户在控制台输入的内容,返回数据类型为String类型!
Copier après la connexion

--> Lorsque l'utilisateur saisit le contenu et appuie sur Entrée, obtenez le contenu avant le premier espace !

input.nextLine(); --> 获取用户在控制台输入的内容,返回数据类型为String类型!
Copier après la connexion

--> Lorsque l'utilisateur saisit du contenu et appuie sur Entrée, obtenez une ligne entière de contenu !

2. Précautions d'utilisation de Scanner

a) Lors de l'exécution de la méthode Scanner, cela bloquera l'exécution du code ! Lorsque l'utilisateur saisit des données et appuie sur Entrée, la méthode Scanner obtiendra le contenu saisi par l'utilisateur et l'enregistrera dans la variable à gauche du signe égal, puis mettra fin à l'effet de blocage du code !

b) Afin d'améliorer le contrôle de santé de l'utilisateur, affichez un texte d'invite avant d'appeler la méthode de la classe Scanner ! Invitez l'utilisateur à saisir sa saisie !

c) Le contenu d'entrée doit être cohérent avec les données renvoyées en appelant la méthode Scanner ! Sinon, une exception sera levée !

d) La méthode nextChar() n'est pas fournie dans la classe Scanner. Si nous avons besoin de récupérer les caractères saisis par l'utilisateur, nous pouvons le faire via la personnalisation !

Quelques pièges que Scanner rencontre souvent

1. Obtenez d'abord l'âge via nextInt(), puis obtenez le nom via nextLine(). le nom n'existe plus après avoir atteint l'âge. Entrons dans le programme et arrêtons-le !

Cause :

Lors de l'exécution de la méthode nextLine(), elle vérifiera d'abord si la mémoire contient un caractère de nouvelle ligne, puis obtiendra directement. le caractère de nouvelle ligne Le contenu avant le caractère sans saisie de l'utilisateur, le caractère de nouvelle ligne dans la mémoire sera consommé une fois l'acquisition terminée !

Solution :

Après avoir obtenu l'âge, exécutez d'abord la méthode nextLine(), puis obtenez le nom !

2. Comment obtenir les caractères saisis par l'utilisateur sur la console ? ? ?

Parce que : Scanner ne fournit pas la méthode nextChar(), nous devons donc terminer l'opération d'obtention des caractères nous-mêmes !

Solution :

a) Récupérez d'abord la chaîne saisie par l'utilisateur --> méthode next() ou nextLine() de la classe Scanner

b) Ensuite, récupérez la caractères Le premier caractère de la chaîne. ---> La méthode charAt(index) de la classe String

L'exemple est le suivant :

import java.util.Scanner;
public class ScannerDemo02 {
	public static void main(String[] args) {
		
		Scanner input = new Scanner(System.in);
		System.out.print("请输入年龄:");
		int age = input.nextInt();
		System.out.println("年龄:" + age);
		// 获取用户输入的姓名
		input.nextLine(); // 先用nextLine()方法吃掉内存中的换行符!
		System.out.print("请输入姓名:");
		String name = input.nextLine();
		System.out.println("姓名:" + name);
	}
}
Copier après la connexion

Pour plus d'articles sur Java, veuillez visiter : Introduction au développement 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:csdn.net
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