Comment puis-je lire les entrées de la console en utilisant la Scanner
classe? Quelque chose comme ça:
System.out.println("Enter your username: ");
Scanner = input(); // Or something like this, I don't know the code
Fondamentalement, tout ce que je veux, c'est que le scanner lise une entrée pour le nom d'utilisateur et attribue l'entrée à une String
variable.
java
java.util.scanner
Hock3yPlayer
la source
la source
Réponses:
Un exemple simple pour illustrer comment
java.util.Scanner
fonctionne la lecture d'un seul entierSystem.in
. C'est vraiment assez simple.Pour récupérer un nom d'utilisateur, j'utiliserais probablement
sc.nextLine()
.Vous pouvez également l'utiliser
next(String pattern)
si vous voulez plus de contrôle sur l'entrée, ou simplement valider lausername
variable.Vous trouverez plus d'informations sur leur implémentation dans la documentation de l' API pour
java.util.Scanner
la source
la source
Lecture des données à partir de la console
BufferedReader
est synchronisé, donc les opérations de lecture sur un BufferedReader peuvent être effectuées en toute sécurité à partir de plusieurs threads. La taille du tampon peut être spécifiée ou la taille par défaut ( 8192 ) peut être utilisée. La valeur par défaut est suffisamment grande pour la plupart des applications.readLine () « lit simplement les données ligne par ligne à partir du flux ou de la source. Une ligne est considérée comme terminée par l'un d'eux: \ n, \ r (ou) \ r \ n
Scanner
divise son entrée en jetons en utilisant un modèle de délimiteur, qui correspond par défaut aux espaces (\ s) et il est reconnu parCharacter.isWhitespace
.« Jusqu'à ce que l'utilisateur entre des données, l'opération de numérisation peut se bloquer, en attente de saisie. « Utilisez Scanner ( BUFFER_SIZE = 1024 ) si vous souhaitez analyser un type spécifique de jeton à partir d'un flux. « Un scanner n'est cependant pas sûr pour les threads. Il doit être synchronisé en externe.
next () «Recherche et renvoie le prochain jeton complet de ce scanner. nextInt () «Analyse le prochain jeton de l'entrée en tant qu'int.
Code
Entrées et sorties de Stream
la source
BufferedReader, Scanner
pour lire les données d'un fichier réseau de fichier local (OR).Il y a un problème avec la méthode input.nextInt () - elle ne lit que la valeur int.
Ainsi, lors de la lecture de la ligne suivante en utilisant input.nextLine (), vous recevez "\ n", c'est-à-dire la Enterclé. Donc, pour ignorer cela, vous devez ajouter le input.nextLine ().
Essayez-le comme ça:
la source
Il existe plusieurs façons d'obtenir des informations de l'utilisateur. Ici, dans ce programme, nous prendrons la classe Scanner pour réaliser la tâche. Cette classe Scanner est incluse
java.util
, donc la première ligne du programme est import java.util.Scanner; qui permet à l'utilisateur de lire des valeurs de différents types en Java. La ligne de déclaration d'importation doit être dans la première ligne du programme java, et nous continuons pour le code.Pour accéder aux méthodes de la classe Scanner, créez un nouvel objet scanner comme "in". Maintenant, nous utilisons l'une de ses méthodes, c'est "suivant". La méthode "suivante" obtient la chaîne de texte qu'un utilisateur entre au clavier.
Ici, j'utilise
in.nextLine();
pour obtenir la chaîne que l'utilisateur entre.la source
la source
Vous pouvez créer un programme simple pour demander le nom de l'utilisateur et imprimer quelles que soient les réponses utilisées.
Ou demandez à l'utilisateur d'entrer deux nombres et vous pouvez ajouter, multiplier, soustraire ou diviser ces nombres et imprimer les réponses pour les entrées utilisateur, tout comme le comportement d'une calculatrice.
Vous avez donc besoin de la classe Scanner. Vous devez
import java.util.Scanner;
, et dans le code que vous devez utiliser:input
est un nom de variable.Voyez comment cela diffère:
input.next();
,i = input.nextInt();
,d = input.nextDouble();
Selon une chaîne, int et un double varient de la même manière pour le reste. N'oubliez pas la déclaration d'importation en haut de votre code.
la source
Un exemple simple:
la source
Lorsque l'utilisateur entre son / sa
username
, vérifiez également l'entrée valide.la source
Pour lire l'entrée:
Pour lire une entrée lorsque vous appelez une méthode avec certains arguments / paramètres:
la source
la source
Voici la classe complète qui effectue l'opération requise:
la source
Scanner
.Vous pouvez diffuser ce code:
la source
Vous pouvez utiliser la classe Scanner en Java
la source
Il existe un moyen simple de lire à partir de la console.
Veuillez trouver le code ci-dessous:
Pour une compréhension détaillée, veuillez vous référer aux documents ci-dessous.
Doc
Parlons maintenant de la compréhension détaillée du fonctionnement de la classe Scanner:
Il s'agit du constructeur pour la création de l'instance Scanner.
Nous passons ici la
InputStream
référence qui n'est rien d'autre qu'unSystem.In
. Ici, il ouvre leInputStream
canal d'entrée de console.En passant le System.in ce code ouvrira le socket pour la lecture depuis la console.
la source