IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

problème de if/else avec JAVA


Sujet :

Java

  1. #1
    Débutant  
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Points : 117
    Points
    117
    Par défaut problème de if/else avec JAVA
    Bonjour à tous,

    J'ai ce petit bout de code qui me permet d'exécuter une commande dans une invite de commande.. Mais c'est pas vraiment le soucie dont je souffrais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     try {
                if (dossier_perso.equals("moi")){
                String[] cmd = { "/bin/bash", "-c","cd /usr/local; mkdir "+ dossier_perso +" "};
                }
                else
                {
                String[] cmd = { "/bin/bash", "-c"," cd /usr/local; ls " };
                }
                
                Process p = Runtime.getRuntime().exec(cmd);
    le problème c'est que j'ai une erreur avec la dernière instruction avec le message suivant:

    cannot find symbol
    symbo: variable cmd


    Qu'est ce que je peut faire?

    Merci

  2. #2
    Membre confirmé Avatar de billynirvana
    Homme Profil pro
    Architecte technique
    Inscrit en
    Décembre 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 472
    Points : 552
    Points
    552
    Par défaut
    il faut que tu déclares ta variable cmd avant ton if.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    String[] cmd = null;
     
    if (dossier_perso.equals("moi")){
    	cmd = { "/bin/bash", "-c","cd /usr/local; mkdir "+ dossier_perso +" "};
    } else {
    	cmd = { "/bin/bash", "-c"," cd /usr/local; ls " };
    }
     
    Process p = Runtime.getRuntime().exec(cmd);

  3. #3
    Débutant  
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Points : 117
    Points
    117
    Par défaut
    je l'ai testé, mais devant les deux "cmd", j'ai une erreur :

    illegal start of expression

  4. #4
    Débutant  
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Points : 117
    Points
    117
    Par défaut
    illegal start of expression

    not a statement

    ';' expected

    not a statement

    ';' expected

    Empty statement
    Plus exactement

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 608
    Points
    21 608
    Par défaut
    Ouaip, la syntaxe que tu utilises n'est valable que si tu fais la déclaration et l'initialisation du String[] en une seule instruction, ce qui dans ce cas précis est impossible.

    Il faut donc faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cmd = new String[]{ "/bin/bash", "-c","cd /usr/local; mkdir "+ dossier_perso +" "};
    Personnellement, j'ai du mal à trouver de bonne raison à ça, mais il y en peut-être une. Il est vrai que le contraire imposerait une exception d'inférence de type qu'on ne trouve nulle part ailleurs.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre confirmé Avatar de billynirvana
    Homme Profil pro
    Architecte technique
    Inscrit en
    Décembre 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 472
    Points : 552
    Points
    552
    Par défaut
    merci thelvin.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/09/2011, 20h06
  2. [XSLT] Problème de transformation XSLT avec JAVA
    Par ploxien dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 28/09/2007, 16h47
  3. [AJAX] encodage-decodage URL avec Java et Javascript
    Par alfreedd dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 05/06/2007, 13h45
  4. Problème encodage-decodage URL avec Java et Javascript
    Par alfreedd dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 27/04/2007, 12h11
  5. divers problème avec Java et jdbc
    Par chti_juanito dans le forum JDBC
    Réponses: 28
    Dernier message: 31/10/2005, 16h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo