1. java-hell.de
  2. Thèmes
  3. Saisie utilisateur
Thème 10 sur 11

Apprendre à lire la saisie utilisateur en Java

Jusqu'ici, ton programme ne fait que parler. Maintenant, il écoute aussi : avec IO.readln(), tu lis des saisies, tu les convertis en nombres et tu construis tes premiers programmes interactifs.

Les exercices

Ce que tu vas apprendre dans ce thème

  1. Saluer l'utilisateur
  2. Additionner deux nombres
Exercice 1 sur 2

Saluer l'utilisateur

Jusqu'ici, tes programmes ne faisaient qu'afficher des trucs. Maintenant, ils lisent aussi des saisies.

Avec IO.readln(), ton programme attend que l'utilisateur tape quelque chose et appuie sur Entrée. Le texte tapé revient sous forme de String.

String nom = IO.readln("Nom : ");
IO.println("Bonjour, " + nom);

En dessous, il y a un champ de saisie. Ce que tu y mets est transmis au programme comme entrée, une ligne par réponse. Essaie et tape ton prénom !

Environnement de test

Normalement, l'utilisateur tape en direct dans le terminal. Ici, on simule ça avec le champ de texte ci-dessous : chaque ligne est la réponse à une question.

Code de départ
void main() {
    String nom = IO.readln("Nom : ");
    IO.println("Bonjour, " + ???);
}
Contexte
IO.readln ou Scanner

Dans du code Java plus ancien, tu verras souvent la classe Scanner pour lire les saisies :

Scanner sc = new Scanner(System.in);
String nom = sc.nextLine();

IO.readln() de Java 25 est le successeur plus court : il fait la même chose, mais sans code passe-partout et sans import.

Le texte d'invite ("Nom : ") est affiché avant la saisie, sans retour à la ligne.

Exercice 2 sur 2

Additionner deux nombres

IO.readln te renvoie toujours un String. Pour les nombres, tu dois encore convertir la chaîne :

int nombre = Integer.parseInt(IO.readln("Nombre : "));

Lis deux nombres et affiche leur somme.

Avec les saisies 7 et 5, le dernier nombre affiché doit être 12.

Code de départ
void main() {
    int a = Integer.parseInt(IO.readln("Premier nombre : "));
    // Lis le deuxième nombre et affiche la somme
}
Contexte
Et si la saisie est fausse ?

Si l'utilisateur tape quelque chose qui n'est pas un nombre (par ex. "abc"), Integer.parseInt lance une NumberFormatException. Dans un vrai programme, tu l'attraperais avec try/catch, exactement comme dans le bloc « Exceptions ».

Assez lu. À toi de jouer.

Dans le tutoriel, tu écris le code toi-même, tu cliques sur Exécuter et tu vois tout de suite si ton programme marche. Sans JDK, sans IDE, sans prise de tête.

S'entraîner sur Saisie utilisateur dans le navigateur