Comment obtenir une entrée utilisateur en Java [avec exemples]
Publié: 2021-05-27Table des matières
introduction
L' entrée de l' utilisateur en Java est la première étape vers la création d'un logiciel réussi en Java. Le programme Java collecte les entrées de l'utilisateur via diverses sources d'entrée telles qu'une souris, un clavier, une requête réseau, des arguments CLI, etc. Java dispose également de divers packages d'E / S qui peuvent être importés dans le programme pour effectuer des opérations d'entrée-sortie. Ces packages prennent en charge la saisie de types primitifs tels que double, entier, chaînes, etc.
Cet article se concentrera sur des méthodes telles que Scanner, BufferedReader et InputStreamReader pour prendre l' entrée de l'utilisateur dans Java .
Comment prendre des entrées en Java à l'aide de la classe Scanner ?
La classe Scanner est l'une des méthodes du package "java.util" qui analyse et gère toutes les entrées de type primitif. La classe Scanner demande à l'utilisateur d'entrer l'entrée, puis elle l'imprime sur l'écran ou la console. Vous pouvez importer la classe Scanner à partir du package "java.util" dans le programme et créer un objet pour utiliser ses méthodes.
Par exemple,
Test du scanner = nouveau scanner (System.in);
Dans l'instruction ci-dessus, le test est le nom d'un objet et System.in est le flux d'entrée. L'instance Scanner créée analysera l' entrée utilisateur en Java .
Remarque : Il n'est pas nécessaire d'écrire System.in comme chaîne d'entrée dans votre programme. Vous pouvez le remplacer par un fichier et un fichier à lire, chaîne comme flux d'entrée.
Par exemple,
Test du scanner = nouveau Scanner(nouveau FileInputStream("testFile.txt"), "UTF-8");
Assurez-vous d'écrire le code {test.close()} pour fermer le scanner lorsque vous avez terminé de le modifier.
Méthodes de scanner pour lire les entrées de l'utilisateur
Le tableau suivant répertorie les méthodes utilisées par l'analyseur pour lire l' entrée en Java saisie par l'utilisateur.
Méthode | Type de retour | La description |
Suivant() | Chaîne de caractères | Renvoie le jeton suivant du scanner |
bytesuivant() | Octet | Lit l'entrée suivante sous forme d'octet. |
nextFloat() | Flotter | Lit l'entrée suivante sous la forme d'un flottant. |
nextInt() | Entier | Lit l'entrée suivante sous la forme d'un entier. |
suivantCourt() | Court | Lisez la prochaine entrée sous forme de court. |
nextLong() | Long | Lire l'entrée suivante comme un long. |
suivantBooléen() | booléen | Lit l'entrée suivante en tant que booléen et renvoie la valeur. |
lignesuivante() | Chaîne de caractères | Avance le scanner d'une ligne et renvoie l'entrée ignorée. |
Exemple
Le programme Java suivant utilise la classe Scanner pour accepter les entrées utilisateur en Java (chaîne, entier et flottant).
importer java.util.Scanner ; classe TakeUserInput { public static void main(String args[]) { int un ; flotteur b ; Chaîne c ; Test du scanner = nouveau scanner (System.in); // Prend l'entrée de l'utilisateur en tant que chaîne System.out.println("Tapez une chaîne : "); c = in.nextLine(); System.out.println("La chaîne d'entrée utilisateur est : "+c") ; // Prend l'entrée de l'utilisateur en tant qu'entier System.out.println("Tapez un entier : "); a = in.nextInt(); System.out.println("L'entier d'entrée utilisateur est : "+a") ; // Prend l'entrée de l'utilisateur comme flottant System.out.println("Tapez un nombre flottant : "); b = in.nextFloat(); System.out.println("Le nombre flottant d'entrée utilisateur est : "+b); }} |
Sortir
Saisissez une chaîne : André La chaîne d'entrée utilisateur est : Andrew Tapez un entier : 03 L'entier d'entrée utilisateur est : 03 Saisissez un nombre flottant : 61,46 Le nombre flottant d'entrée utilisateur est : 61,46 |
Si vous souhaitez en savoir plus sur la saisie d'entrées en Java à l'aide de la classe scanner, consultez l' entrée de chaînes multiples en Java à l'aide du blog Scanner.
Méthodes BufferedReader et InputStreamReader
BufferedReader est une autre classe de Java qui analyse le flux de caractères à partir d'un flux d'entrée basé sur des caractères. InputStreamReader est une fonction de Java qui convertit le flux d'entrée en une séquence de caractères que BufferedReader doit analyser. La classe BufferedReader accepte InputStream comme paramètre.
La classe BufferedReader utilise les méthodes read() et readLine() pour lire les caractères et la ligne suivante et les renvoie.
Vous devez importer le package java.io.BufferedReader pour créer une classe BufferedReader.
// Crée un FileReader
Test FileReader = nouveau FileReader (fichier chaîne);
// Crée un BufferedReader
BufferedReader a = nouveau BufferedReader(test);
Obtenez des diplômes en génie logiciel en ligne dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.
Méthodes BufferedReader pour lire les entrées de l'utilisateur
Le tableau suivant répertorie les méthodes que le lecteur tamponné utilise pour lire l' entrée en Java saisie par l'utilisateur.
Méthode | La description |
prêt() | Vérifie si le lecteur de fichiers est dans un état de lecture. |
marque() | Marque la position dans le lecteur tamponné jusqu'à laquelle les données ont été lues. |
réinitialiser() | Ramène le contrôle au point où la marque a été définie. |
Exemple
Le programme Java suivant utilise une classe BufferedReader avec une classe InputStreamReader pour prendre l' entrée utilisateur dans Java .
importer java.io.BufferedReader ; importer java.io.FileReader ; import java.io.IOException ; test de classe publique { public static void main(String[] args) { Tampon BufferedReader = null ; essayer { Chaîne scanFirstLine ; buffer = new BufferedReader(new FileReader("D:\\user_input.txt")); tandis que ((scanFirstLine = buffer.readLine()) != null) { System.out.println(scanFirstLine); } } catch (IOException a) { a.printStackTrace(); } finalement { essayer { si (tampon != nul) buffer.close(); } capture (IOException b) { b.printStackTrace(); } } } } |
Sortir
Les données suivantes se trouvent dans le fichier : Ceci est un exemple d'instruction que BufferedReader lit à partir du fichier. |
Dans l'exemple ci-dessus, nous avons créé un lecteur tamponné nommé buffer. Le lecteur tamponné est lié au fichier "user_input.txt".
Ensuite, nous avons utilisé la méthode readLine() pour scanner les caractères du tampon du lecteur tamponné.
Conclusion
Dans cet article, nous avons couvert les méthodes utilisées pour prendre les entrées de l'utilisateur en Java . Nous avons discuté des méthodes Scanner et BufferedReader, ainsi que des exemples. Nous avons également discuté des méthodes utilisées par les classes Scanner et BufferedReader pour prendre des entrées dans Java . Nous espérons que vous avez une compréhension de base de la gestion des entrées en Java . Si vous souhaitez en savoir plus sur le langage de programmation Java, consultez le cours Executive PG Program in Full Stack Development d'upGrad conçu pour les professionnels en activité.