c. Saisie Utilisateur en Java

Lorsqu'on on exécute un programme, le programme ouvre des portes :

  • - une porte de sortie standard : pour faire sortir les informations. Par défaut cette port c'est la console qui a lancé le programme. Donc lorsqu'on tape System.out.println("Salut") c'est cette porte qui est utilisée pour nous afficher "Salut".


  • - Une port d'entrée : cette fois-ci pour accepter des informations venant de l'utilisateurs. Par défaut c'est la console qui a lancé le programme. Dans ce cas on utiliser Scanner en Java qui est une méthode permettant de lire des entrées de l'utilisateur à partir de la console.

Par exemple pour demander l'âge de l'utilisateur :

  • - d'abord on import la classe Scanner (On verra les classes dans le chapitre orienté objet avec Java) :
import java.util.Scanner;


  • - Pour lire les entrées de l'utilisateur, on crée un objet de la classe Scanner qui est lié au flux d'entrée standard (le clavier, dans ce cas). Voici comment créer cet objet :
Scanner scanner = new Scanner(System.in);


  • - Lire les entrées de l'utilisateur l'objet Scanner fournit plusieurs méthodes pour lire différents types de données :
  • - un entier par exemple, avec la méthode nextInt() qui existe dans la class Scanner :
int age = scanner.nextInt();  // Lire un entier
  • - une chaîne de caractère, avec la méthode nextLine() qui existe dans la class Scanner :
String nom = scanner.nextLine();  // Lire une ligne entière du texte entré et stocker la valeur dans la variable nom


  • - après les entrées vous pour fermer le scanner avec la méthode close()
scanner.close();


Exemple complet :


import java.util.Scanner;


class Saisie{
    
    public static void main(String[] args) {
        
        // Création d'un objet Scanner pour lire l'entrée utilisateur
        Scanner scanner = new Scanner(System.in);
        
        // Saisie de l'âge
        System.out.print("Entrez votre âge : ");
        int age = scanner.nextInt();
        
        // Affichage des informations
        System.out.println("Age = " + age + " ans.");
        
        // Fermeture du scanner
        scanner.close();
    }
}