Récupérer et lire les données entrées au clavier

Le but de ce tutoriel (Java) est de  voir comment récupérer  les données saisies au clavier.




Pour commencer, voyons ce petit programme que vous connaissez déjà :

public class saisie {
public static void main ( String [] args)
  {
          System.out.println("Entrer votre âge:");
 }          
}

Ce programme vous demande de saisir votre âge mais vous ne pouvez rien saisir car les données que vous essayez de saisir ne sont pas récupérées.
Alors comment les récupérer? Voici l’énigme que nous allons résoudre sur ce tutoriel.

Avant de faire quoi qu’il en soit, nous allons commencer par saisir cette ligne dans notre programme :
import java.util.Scanner;

Et pourquoi saisir cette ligne ?

Pour pouvoir récupérer les données entrées au clavier, nous avons besoin de la classe Scanner. Il s’agit d’une classe se trouvant dans java.util et qui permet à l’utilisateur de lire les valeurs de différents types.
La classe Scanner possède plusieurs méthodes que nous allons vous lister tout de suite :

  • int nextInt() : Retourne un entier. Si la saisie n'est pas un nombre entier, InputMismatchException est jetée.
  • long nextLong() retourne un entier. Si la saisie n'est pas un nombre entier, InputMismatchException est jetée.
  • float nextFloat() retourne un nombre flottant. Si la saisie n'est pas un nombre flottant, InputMismatchException est jetée.
  • double nextDouble() retourne un nombre réel. Si la saisie n'est pas un nombre réel, InputMismatchException est jetée.
  • string nextLine() retourne une chaîne de caractères…  
  • void close() ferme le Scanner.
  • etc

Après on va instancier la classe Scanner en indiquant  le flux de données issu du clavier. Dans ce cas on utilise :
new Scanner(System.in);

Eh, eh ! Est-il vraiment nécessaire d’appeler la classe Scanner ?

Euh, non ! Mais si vous ne voulez pas appeler la classe Scanner, vous devez utiliser un Bufferedreader.

 

Bon, on a assez parlé, maintenant voyons un exemple :
Code source Java :

import java.util.Scanner;
public class saisie {

	 public static void main ( String [] args)
	    {
		Scanner sc = new Scanner(System.in);
	    System.out.println("Entrer votre âge :");
	    int age = sc.nextInt();
	    System.out.print("Vous avez saisi : " + age);
	    System.out.println("ans");
	     }

}