Lire l'entrée de la console en Java
Ce post expliquera comment lire l'entrée de la console en Java en utilisant Scanner
, BufferedReader
, et Console
classer. L'entrée peut être de différents types, tels que String, Integer, Double, Long, etc.
1. Utilisation Scanner
Class
L'approche standard consiste à utiliser les Scanner classe en Java pour lire l'entrée de la console, qui divise l'entrée en jetons en utilisant des espaces blancs comme délimiteur, qui peuvent ensuite être facilement convertis en valeurs de différents types à l'aide des différentes méthodes suivantes, comme indiqué ci-dessous :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
import java.util.Scanner; class Main { // Programme pour lire l'entrée de la console en Java en utilisant `Scanner` public static void main(String[] args) { // Construit une nouvelle instance `Scanner` pour analyser les valeurs du flux d'entrée Scanner scanner = new Scanner(System.in); // lit toute la ligne System.out.println(scanner.nextLine()); // récupère le prochain jeton double System.out.println(scanner.nextDouble()); // récupère le jeton de string suivant System.out.println(scanner.next()); // récupère le jeton entier suivant System.out.println(scanner.nextInt()); // récupère le prochain jeton long System.out.println(scanner.nextLong()); // ferme le scanner scanner.close(); } } |
2. Utilisation BufferedReader
Class
Le problème avec le Scanner
classe est qu'il est beaucoup trop lent. Nous pouvons également utiliser le BufferedReader classe en Java, qui offre de bien meilleures performances que la Scanner
classer. La ligne entière peut être lue comme une string en utilisant le readLine()
et peut être convertie en valeurs de différents types à l'aide des méthodes utilitaires fournies par les classes wrapper correspondantes. Pour un entier, on peut utiliser le read()
méthode.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; class Main { // Programme pour lire l'entrée de la console en Java en utilisant `BufferedReader` public static void main(String[] args) { BufferedReader br = null; try { // Crée un flux d'entrée de caractères tamponné br = new BufferedReader(new InputStreamReader(System.in)); // lit toute la ligne System.out.println(br.readLine()); // obtient le double System.out.println(Double.parseDouble(br.readLine())); // obtient un entier System.out.println(br.read()); // ferme le flux br.close(); } catch (IOException e) { e.printStackTrace(); } } } |
3. Utilisation Console
Class
Nous pouvons également utiliser le Console classe pour accéder au périphérique de console basé sur des caractères. Pour obtenir l'unique Console
objet associé à la JVM courante, on peut appeler le System.console()
méthode.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
import java.io.Console; class Main { // Programme pour lire l'entrée de la console en Java en utilisant la classe `Console` // Cela ne fonctionnera qu'avec l'environnement de ligne de commande. public static void main(String[] args) { Console console = System.console(); if (console != null) { // lit toute la ligne System.out.println(console.readLine()); // obtient le double System.out.println(Double.parseDouble(console.readLine())); // obtient un entier System.out.println(Integer.parseInt(console.readLine())); } } } |
Il s'agit de lire les entrées de la console en Java.