0Pricing
Java Academy · Leçon

Analyser des nombres saisis

Convertissez du texte en nombres.

Analyser des nombres saisis est une leçon Java Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Java Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Java Academy comprend 4 leçons au total.

Les lignes sont toujours des chaînes

readLine() vous fournit toujours un String, même lorsque l'utilisateur saisit 42. Pour effectuer des calculs, vous devez analyser ce texte afin de le convertir en nombre.

Java fournit notamment les méthodes utilitaires Integer.parseInt et Double.parseDouble pour cela.

Integer.parseInt

Integer.parseInt(String) convertit un texte tel que "42" en une valeur int égale à 42.

Une fois analysée, cette valeur peut être additionnée, multipliée ou comparée comme n'importe quel nombre.

String text = "42";
int n = Integer.parseInt(text);
System.out.println(n + 1);

Exemple d'analyse exécutable

Voici un programme complet et exécutable qui analyse une chaîne codée en dur et en double la valeur.

Il ne lit rien depuis System.in, s'exécute donc immédiatement et affiche le résultat.

public class Main {
    public static void main(String[] args) {
        String text = "21";
        int n = Integer.parseInt(text);
        System.out.println("Doubled: " + (n * 2));
    }
}

Lire puis analyser

Le schéma réel est le suivant : lire une ligne, puis l'analyser. Ce programme lit un nombre dans la console et affiche son carré.

Comme il attend une entrée sur System.in, il ne peut pas être exécuté automatiquement ici, mais il s'agit du schéma utilisé au quotidien.

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br =
            new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        System.out.println("Square: " + (n * n));
    }
}

Appliquer trim() avant l'analyse

Les espaces superflus perturbent l'analyse. Integer.parseInt(" 42 ") lève une erreur, mais Integer.parseInt(" 42 ".trim()) fonctionne.

Il est recommandé d'appeler trim() sur la ligne avant de l'analyser.

String raw = "  7  ";
int n = Integer.parseInt(raw.trim());
System.out.println(n);

Analyser les nombres décimaux

Pour les nombres décimaux, utilisez Double.parseDouble. Cette méthode transforme un texte tel que "3.14" en valeur double.

Il existe également Long.parseLong pour les très grands nombres entiers qui dépassent la plage de int.

public class Main {
    public static void main(String[] args) {
        double pi = Double.parseDouble("3.14");
        System.out.println(pi * 2);
    }
}

Plusieurs nombres sur une ligne

Une ligne contient souvent plusieurs nombres séparés par des espaces, comme "10 20 30". Utilisez split(" ") pour la découper en un tableau de jetons String.

Analysez ensuite chaque jeton individuellement.

String[] parts = "10 20 30".split(" ");
int a = Integer.parseInt(parts[0]);
int b = Integer.parseInt(parts[1]);
System.out.println(a + b);

Additionner des nombres découpés

Ce programme exécutable découpe une ligne et additionne tous les nombres dans une boucle.

La chaîne est codée en dur afin que le programme s'exécute sans entrée, mais remplacez-la par br.readLine() pour une utilisation avec la console.

public class Main {
    public static void main(String[] args) {
        String line = "5 8 2 10";
        String[] parts = line.split(" ");
        int sum = 0;
        for (String p : parts) {
            sum += Integer.parseInt(p);
        }
        System.out.println("Sum: " + sum);
    }
}

Une mauvaise entrée provoque une exception

Si le texte ne représente pas un nombre valide — par exemple "hello" ou une chaîne vide — parseInt lève une NumberFormatException.

Vous pouvez vous en prémunir avec un bloc try/catch, afin que votre programme ne se termine pas brutalement en cas d'entrée incorrecte.

try {
    int n = Integer.parseInt("hello");
} catch (NumberFormatException e) {
    System.out.println("Not a number!");
}

L'analyse sécurisée en pratique

Voici un programme exécutable qui gère correctement une entrée incorrecte au lieu de se terminer brutalement.

Le bloc catch affiche un message convivial lorsque le texte ne peut pas être converti en nombre.

public class Main {
    public static void main(String[] args) {
        String input = "12x";
        try {
            int n = Integer.parseInt(input);
            System.out.println(n);
        } catch (NumberFormatException e) {
            System.out.println("Invalid number: " + input);
        }
    }
}

Liste de vérification pour l'analyse

Pour transformer des entrées en nombres :

  • Integer.parseInt pour les nombres entiers, Double.parseDouble pour les nombres décimaux.
  • Supprimez d'abord les espaces superflus avec trim().
  • Utilisez split(" ") pour plusieurs nombres sur une même ligne.
  • Placez le traitement dans un bloc try/catch par mesure de sécurité.

Vérification rapide

Considérez ce qui se passe lorsque l’analyse échoue.

Récapitulatif

Vous avez appris que les lignes d’entrée sont des chaînes de caractères, analysées avec Integer.parseInt ou Double.parseDouble. Vous avez utilisé trim() et split(" "), et intercepté NumberFormatException par précaution.

Ensuite : fermer correctement vos flux.

Questions Fréquemment Posées

La leçon « Analyser des nombres saisis » est-elle gratuite ?

Oui — le texte complet de « Analyser des nombres saisis » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Java Academy, passe à CoddyKit PRO. Le cours Java Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Analyser des nombres saisis » ?

Convertissez du texte en nombres. Tu pratiques Java Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Java Academy ?

Aucune expérience préalable n'est requise. Java Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Analyser des nombres saisis » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Java Academy ?

Oui. Chaque leçon Java Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Pourquoi BufferedReader
  2. Lire des lignes
  3. Analyser des nombres saisis
  4. Fermer les flux en toute sécurité
← Retour à Java Academy