Accueil Finances personnelles Comment obtenir une entrée avec la classe Scanner de Java - les nuls

Comment obtenir une entrée avec la classe Scanner de Java - les nuls

Table des matières:

Vidéo: 6 - Lire une saisie clavier avec la classe Scanner Java 2025

Vidéo: 6 - Lire une saisie clavier avec la classe Scanner Java 2025
Anonim

Jusqu'à Java 1. 5, obtenir du texte de la part de l'utilisateur dans un programme Java basé sur la console n'était pas facile. Mais avec Java 1. 5, une nouvelle classe - appelée Scanner - a été introduite pour simplifier la tâche d'obtenir des entrées de l'utilisateur. Ici, vous utilisez la classe Scanner pour obtenir des valeurs d'entrée simples de l'utilisateur. Les techniques que je présente ici sont utilisées dans de nombreux programmes présentés dans le reste de ce livre.

Si vous utilisez une ancienne version de Java, vous devriez toujours lire ceci, car de nombreux programmes utilisent la classe Scanner .

Le programme simple ci-dessous utilise la classe Scanner pour lire une valeur entière de l'utilisateur, puis affiche la valeur sur la console pour vérifier que le programme a reçu la valeur entrée par l'utilisateur. Voici un exemple de la fenêtre de la console pour ce programme:

Entrez un nombre entier: 5

Vous avez entré 5.

Le programme commence par afficher le message Entrez un nombre entier: sur la première ligne. Ensuite, il vous attend pour entrer un numéro. Lorsque vous tapez un nombre (par exemple 5) et appuyez sur la touche Entrée, le message de confirmation ( Vous avez saisi 5 .) Apparaît sur la deuxième ligne.

importer java. util. Scanner; @@ ra1

public class ScannerApp

{

statique Scanner sc = nouveau Scanner (System.in); @@ ra6

public static void principal (String [] args)

{

Système. en dehors. print ("Entrez un entier:"); @@ ra10

int x = sc. nextInt (); @@ ra11

Système. en dehors. println ("Vous avez entré" + x + "."); @@ ra12

}

}

Importation de la classe Scanner en Java

Avant de pouvoir utiliser la classe Scanner dans un programme, vous devez l'importer. Pour ce faire, vous codez une instruction import au début du programme, avant la déclaration de la classe:

import java. util. Scanner;

Notez que java et util ne sont pas en majuscules, mais Scanner l'est.

Si vous utilisez d'autres classes dans le fichier java . Util package, vous pouvez importer le package entier en codant l'instruction import comme ceci:

import java. util. *;

Déclaration et création d'un objet Scanner en Java

Avant de pouvoir utiliser la classe Scanner pour lire les entrées de la console, vous devez déclarer une variable Scanner et créer une instance de la classe Scanner . Vous pouvez créer la variable Scanner en tant que variable de classe et créer l'objet Scanner dans l'initialiseur de variable de classe, comme illustré à la ligne 6 du programme ci-dessus:

Scanner statique sc = nouveau Scanner (System in.);

De cette façon, vous pouvez utiliser la variable sc dans n'importe quelle méthode de la classe.

Pour créer un objet Scanner , utilisez le mot clé new suivi d'un appel au constructeur de la classe Scanner . Notez que la classe Scanner nécessite un paramètre qui indique le flux d'entrée d'où provient l'entrée. Vous pouvez utiliser Système. dans ici pour spécifier une entrée de console clavier standard.

Obtenir l'entrée

Pour lire une valeur d'entrée de l'utilisateur, vous pouvez utiliser l'une des méthodes de la classe Scanner répertoriées ci-dessous. Comme vous pouvez le voir, le type de données primitif a une méthode séparée.

Méthodes de classe de scanner qui obtiennent des valeurs d'entrée
Méthode Explication
boolean nextBoolean () Lit une valeur boolean de l'utilisateur.
octet nextByte () Lit une valeur octet de l'utilisateur.
double doubleDouble () Lit une valeur double de l'utilisateur.
float nextFloat () Lit une valeur float de l'utilisateur.
int nextInt () Lit une valeur int de l'utilisateur.
String nextLine () Lit une valeur String de l'utilisateur.
long nextLong () Lit une valeur long de l'utilisateur.
short nextShort () Lit une valeur short de l'utilisateur.

Notez dans la première colonne du tableau que chaque liste de méthodes commence par le type de la valeur renvoyée par la méthode. La méthode nextInt , par exemple, renvoie une valeur int . Notez également que chacune des méthodes se termine par un ensemble vide de parenthèses. Cela signifie que ces méthodes ne nécessitent pas de paramètres. Si une méthode nécessite des paramètres, les paramètres sont listés entre parenthèses.

Comme ces méthodes lisent une valeur de l'utilisateur et renvoient la valeur, vous les utilisez le plus souvent dans les instructions qui affectent la valeur à une variable. La ligne 11, par exemple, lit un int et l'affecte à une variable nommée x .

Lorsque la méthode nextInt est exécutée, le programme attend que l'utilisateur entre une valeur dans la fenêtre de la console. Pour informer l'utilisateur du type d'entrée attendu par le programme, vous devez généralement appeler le système . en dehors. print méthode avant d'appeler une méthode Scanner pour obtenir une entrée. La ligne 10 appelle Système. en dehors. print pour afficher le message Entrez un entier: sur la console. De cette façon, l'utilisateur sait que le programme attend une entrée.

Si l'utilisateur entre une valeur qui ne peut pas être convertie au type correct, le programme se bloque, ce qui signifie qu'il se termine brutalement. Lorsque le programme se bloque, il affiche un message d'erreur cryptique qui indique la cause de l'échec. Si vous entrez trois au lieu d'un nombre réel, par exemple, la fenêtre de la console ressemble à ceci:

Entrez un entier: trois Exception dans le thread "main" java. util. InputMismatchException

à java. util. Scanner. throwFor (Scanner.java: 819)

sur Java. util. Scanner. next (Scanner java: 1431)

sur java. util. Scanner. nextInt (Scanner.java: 2040)

sur Java. util. Scanner. nextInt (Scanner.java: 2000)

sur ScannerApp.main (ScannerApp.java: 11)

Ce message indique qu'une exception appelée InputMismatchException est survenue, ce qui signifie que le programme s'attendait à voir un entier mais aurait obtenu autre chose. Si vous ne savez pas comment prévoir des exceptions comme celles-ci pour que le programme puisse afficher un message plus convivial et donner à l'utilisateur une autre chance d'entrer une valeur correcte, vous devez accepter le fait que si l'utilisateur saisit des données incorrectes, votre programme se bloque de façon désagréable.

Vous pouvez empêcher le nextInt et les méthodes similaires de planter avec des données d'entrée incorrectes en utilisant d'abord l'une des méthodes répertoriées ici pour tester l'entrée suivante pour s'assurer qu'elle est valide.

Méthodes de classe de scanner qui vérifient les valeurs d'entrée valides
Méthode Explication
boolean hasNextBoolean () Renvoie true si la valeur suivante saisie par l'utilisateur est valide < valeur booléenne . boolean hasNextByte ()
Renvoie true si la prochaine valeur entrée par l'utilisateur est une valeur octet valide. boolean hasNextDouble ()
Renvoie true si la prochaine valeur entrée par l'utilisateur est une valeur double valide. boolean hasNextFloat ()
Renvoie true si la prochaine valeur entrée par l'utilisateur est une valeur float valide. boolean hasNextInt ()
Renvoie true si la prochaine valeur entrée par l'utilisateur est une valeur int valide. boolean hasNextLong ()
Renvoie true si la prochaine valeur entrée par l'utilisateur est une valeur long valide. boolean hasNextShort ()
Renvoie true si la prochaine valeur entrée par l'utilisateur est une valeur courte valide.
Comment obtenir une entrée avec la classe Scanner de Java - les nuls

Le choix des éditeurs

Découvrir les Méditations de Pleine Conscience Formelle - les nuls

Découvrir les Méditations de Pleine Conscience Formelle - les nuls

Pour approfondir votre conscience consciente, vous devez pratiquer une méditation de pleine conscience sur une base quotidienne. Familiarisez-vous avec certaines des médiations suivantes. Avec le temps, vous deviendrez plus conscient de votre vie quotidienne. Body Meditation Meditation - Cette méditation implique de passer environ une demi-heure, en prenant conscience de ...

Démystifier Dan Brown: Les Templiers Royaux - les nuls

Démystifier Dan Brown: Les Templiers Royaux - les nuls

Les Templiers sont presque aussi fictifs dans Dan Brown Le code Da Vinci comme les chevaliers Jedi sont dans Star Wars. Bien que le héros Robert Langdon hésite d'abord à élever les Templiers dans ses cours, parce que la mention même d'eux fait ressortir les amants du complot, Brown n'a aucun problème à les faire participer ...

Démystification des mythes communs sur la franc-maçonnerie - mannequins

Démystification des mythes communs sur la franc-maçonnerie - mannequins

La franc-maçonnerie moderne existe depuis 1717. Les premières contre-vérités concoctées sur l'Ordre sont apparues en impression à peu près en même temps. Les États-Unis étaient consumés par l'hystérie anti-maçonnique à la fin des années 1820, et l'Europe a fait de Mason-bashing un sport populaire pendant deux siècles, le liant souvent à la propagande antisémite. Internet n'a que ...

Le choix des éditeurs

À L'aide de la boîte de dialogue Configurer l'affichage dans PowerPoint 2011 pour Mac - témoins

À L'aide de la boîte de dialogue Configurer l'affichage dans PowerPoint 2011 pour Mac - témoins

Dans la boîte de dialogue Configurer l'affichage dans PowerPoint, cliquez sur le bouton Configurer l'affichage dans l'onglet Diaporama du ruban Office 2011 pour Mac, ou choisissez Diaporama → Configurer l'affichage dans la barre de menus. Dans les deux cas, la boîte de dialogue Configurer l'affichage polyvalent apparaît. Choisir un type de spectacle dans PowerPoint 2011 pour Mac ...

Enregistrement des fichiers dans Office 2011 pour Mac - témoins

Enregistrement des fichiers dans Office 2011 pour Mac - témoins

Enregistrement d'un fichier sur lequel vous travaillez dans Office 2011 pour Mac est aussi simple que de cliquer sur le bouton Enregistrer dans la barre d'outils Standard, en appuyant sur Commande-S ou en choisissant Fichier → Enregistrer. Si votre fichier a été enregistré précédemment, l'enregistrement du fichier remplace la copie existante du fichier par votre version mise à jour. Si votre fichier n'a pas ...

Fonctionnant avec les modèles de diapositives maîtres dans PowerPoint 2011 pour Mac - les nuls

Fonctionnant avec les modèles de diapositives maîtres dans PowerPoint 2011 pour Mac - les nuls

Dans Office 2011 pour Mac, l'ajout d'une nouvelle présentation de diapositive à une diapositive dans la vue Diapositive maître de PowerPoint 2011 est une tâche assez simple à effectuer. Suivez ces étapes pour commencer: Assurez-vous que vous êtes en mode Masque des diapositives. Choisissez Affichage → Maître → Masque de diapositives dans la barre de menus. Cliquez sur l'onglet Masque des diapositives du ruban, ...

Le choix des éditeurs

Sélectionnez PowerPoint 2007 Objects - dummies

Sélectionnez PowerPoint 2007 Objects - dummies

Avant de pouvoir modifier un objet PowerPoint 2007 sur une diapositive, vous devez le sélectionner. Dans les présentations PowerPoint, les objets peuvent être du texte, des graphiques, des images clipart, des formes, etc. Voici quelques instructions pour sélectionner les objets PowerPoint 2007: Objets texte: Pour sélectionner un objet texte PowerPoint 2007, déplacez le point d'insertion sur le texte qui ...

Définir le contour de la forme sur une diapositive PowerPoint 2007 - dummies

Définir le contour de la forme sur une diapositive PowerPoint 2007 - dummies

Le contrôle shapePoint de powerPoint vous permet style des objets de ligne ou la bordure pour les objets de forme solide sur vos diapositives PowerPoint. Le contrôle Shape Outline se trouve dans le groupe Styles de formes de l'onglet Outils de dessin. Vous pouvez modifier les paramètres suivants pour le contour: Couleur: Définit la couleur utilisée pour ...

PowerPoint 2016 pour les nuls Cheat Sheet - les nuls

PowerPoint 2016 pour les nuls Cheat Sheet - les nuls

PowerPoint 2016 est le logiciel de présentation le plus puissant disponible pour créer et éditer la diapositive montrer des présentations pour le travail, la maison ou l'école. PowerPoint 2016 offre un certain nombre de raccourcis clavier utiles pour effectuer des tâches rapidement. Voici quelques raccourcis pour le formatage PowerPoint commun, l'édition et les tâches de fichiers et de documents. De plus, après avoir créé votre chef-d'œuvre, vous ...