Médiaforma

Java – Passer des données à une application Java

Print Friendly

Vous avez certainement remarqué que la procédure main() d’une application Java fait toujours référence à un tableau String souvent appelé args :

public static void main (String args[]) throws java.io.IOException{

}

Ce tableau est utilisé pour stocker les éventuels paramètres passés à l’application. La technique de passage de paramètres est très utile (et très utilisée), qu’il s’agisse de programmes MS-DOS ou Windows. Par exemple, lorsque vous tapez l’instruction suivante sous MS-DOS :

DIR C:\

Le paramètre « C:\ » est passé au programme DIR. Il indique à ce programme que vous voulez afficher la liste des fichiers contenus dans la racine du disque C:.

Tout comme les programmes MS-DOS, les applications Java sont en mesure d’intercepter les paramètres qui sont tapés par l’utilisateur sur la ligne de commande. Cette technique est automatique : toute donnée spécifiée à la suite du nom d’une application Java est considérée comme un paramètre. Le caractère « espace » est utilisé comme séparateur.

Par exemple, la commande ci-après passe trois paramètres au programme Test : « 3 », « paramètres » et « passés » :

java Test 3 paramètres passés

Chaque paramètre est stocké sous une forme String dans le tableau args. Dans l’exemple précédent, le tableau args[] contient trois valeurs :

args[0] = "3"
args[1] = "paramètres"
args[2] = "passés"

Si certains paramètres doivent être utilisés sous une valeur numérique, il conviendra d’utiliser un casting à l’aide des opérateurs habituels (int), (long), (double), etc.

Si un paramètre doit inclure un ou plusieurs caractères d’espacement, vous le délimiterez par des guillemets. Dans l’exemple suivant, deux paramètres sont passés au programme :

java Test Seulement "2 paramètres passés"

Le premier est stocké dans l’élément args[0]. Il a pour valeur « Seulement ». Le deuxième est stocké dans l’élément args[1]. Il a pour valeur « 2 paramètres passés ».

Si les choses vous semblent encore obscures (sigh !), considérez la classe Test définie ci-après :

public class Test {
  public static void main (String args[]) {
    double op1 = Double.valueOf(args[0]).doubleValue(); // Premier opérateur
    double op2 = Double.valueOf(args[2]).doubleValue(); // Deuxième opérateur

    System.out.print(args[0] + args[1] + args[2] + " = ");

    // ----------------------------
    // Affichage du résultat
    // ----------------------------
    if (args[1].equals("+"))
       System.out.println(op1 + op2);
    if (args[1].equals("-"))
       System.out.println(op1 - op2);
    if (args[1].equals("*"))
       System.out.println(op1 * op2);
    if (args[1].equals("/"))
       System.out.println(op1 / op2);
  }
}

 

 

Vous avez aimé cet article ? Partagez-le avec vos réseaux...
 
Comments

No comments yet.

Leave a Reply