Arguments - 420111aut25/cours420111 GitHub Wiki


📥 Passage d'arguments par la ligne de commande en Java


1. 🔍 Qu’est-ce que c’est ?

En Java, on peut passer des valeurs à un programme au moment de son exécution, directement depuis la ligne de commande.

Ces valeurs sont appelées arguments et sont transmis au programme via le tableau String[] args de la méthode main.


2. 📌 Syntaxe

✅ Déclaration classique

public class MonProgramme {
    public static void main(String[] args) {
        // args est un tableau de chaînes
    }
}

✅ Exécution (en ligne de commande)

java MonProgramme argument1 argument2 argument3

Ces argument1, argument2, etc. seront accessibles dans le tableau args.


3. 🧪 Exemple simple

public class ExempleArgs {
    public static void main(String[] args) {
        System.out.println("Premier argument : " + args[0]);
        System.out.println("Deuxième argument : " + args[1]);
    }
}

⚠️ Important

  • args[0] = premier argument
  • args[1] = deuxième argument
  • args.length = nombre total d’arguments

4. 🛑 Gestion des erreurs

Il faut toujours vérifier la taille du tableau args pour éviter les erreurs :

if (args.length < 2) {
    System.out.println("Erreur : il faut au moins 2 arguments.");
    return;
}

5. 🔄 Conversion de type

Les arguments sont des chaînes de caractères (String) par défaut. Pour utiliser des nombres :

int age = Integer.parseInt(args[0]);    // Convertit en int
double taille = Double.parseDouble(args[1]); // Convertit en double

⚠️ Attention aux erreurs si l’utilisateur entre des valeurs non numériques.


6. 🎯 Utilisation typique

  • Fournir des paramètres (nom, âge, etc.) à un programme.
  • Contrôler le comportement du programme (mode test, options, etc.).
  • Éviter de coder en dur des valeurs.

7. 📦 Exemple complet

public class BonjourNom {
    public static void main(String[] args) {
        if (args.length == 0) {
            System.out.println("Usage : java BonjourNom <nom>");
            return;
        }
        System.out.println("Bonjour " + args[0] + " !");
    }
}

🧠 À retenir

Élément Détail
String[] args Tableau contenant les arguments
args.length Nombre d’arguments passés
args[i] iᵉ argument (indexé à partir de 0)
Conversion Utiliser Integer.parseInt(), Double.parseDouble(), etc.
Bonne pratique Vérifier la longueur du tableau avant d'accéder aux éléments

🧩 Exercice 1 : Convertisseur Celsius → Fahrenheit

🎯 Objectif : Lire une température en degrés Celsius en argument, et afficher sa conversion en Fahrenheit.

🔧 Consigne :

  1. Le programme prend un seul argument numérique.

  2. Il affiche :

    <valeur>°C équivaut à <valeur_fahrenheit>°F
    
  3. Utilise la formule : F = C × 9/5 + 32

📝 Exemple attendu :

java Convertisseur 25
25°C équivaut à 77.0°F

🛑 Ajoute une vérification si aucun argument n’est donné ou si l’entrée n’est pas un nombre.


🧮 Exercice 2 : Nombre pair ou impair

🎯 Objectif : Vérifier si un nombre entier donné en argument est pair ou impair.

🔧 Consigne :

  1. Le programme prend un entier en argument.

  2. Il affiche :

    • "Nombre pair" si divisible par 2
    • "Nombre impair" sinon

📝 Exemple attendu :

java Parite 41
Nombre impair

🛑 Ajoute une gestion d’erreur si l’argument est absent ou non entier.


📚 Exercice 3 : Compteur de mots

🎯 Objectif : Compter le nombre total de mots passés en argument.

🔧 Consigne :

  1. Le programme prend n'importe quel nombre de mots (chaînes) en arguments.

  2. Il affiche :

    Nombre de mots : X
    

📝 Exemple attendu :

java Compteur Bonjour à tous les étudiants
Nombre de mots : 5

🛡️ Gère le cas où aucun mot n’est fourni (afficher un message).


⚠️ **GitHub.com Fallback** ⚠️