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

Langage Java Discussion :

Méthode qui a besoin d argument


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 95
    Par défaut Méthode qui a besoin d argument
    Bonjour,
    J'ai besoin de donner des arguments a une classe, lors de sa création.
    Le probleme est que je ne sais pas comment faire.

    Ma classe est appelé dans une boucle et chaque valeure de la boucle doit etre passé a ma fonction en tant que arguments.

    Merci de votre aide.

  2. #2
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Salut, qu'est ce que tu ne sais pas faire exactement ?

    Je vois pas la difficulté

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 95
    Par défaut
    Citation Envoyé par sironimo
    Salut, qu'est ce que tu ne sais pas faire exactement ?

    Je vois pas la difficulté
    En fait je ne sais pas si cela est difficile... Je ne sais tout simplement pas le faire. Je m'explique :

    Je fait une boucle, chaque informations contenu dans cette boucle doit etre envoier a une classe qui le traite en tant qu 'argument et non en tant que parametre, c'est a dire comme si on passer un parametre en ligne de commande. Sauf que la les parametres doivent etre envoier a partir du programme car ils sont dynamique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    for ( int i = 0; i < list.length; i++) {
    	System.out.println("  => Compilation du fichier : " + list[i].toString());
    	// appel de la classes qui compile, reste a lui passer des args qui sont        list[i].toString(), a chaque tour de boucles
            compiler.Main mainCompiler = new compiler.Main( );
    	// ce qui donnerait en ligne de commande :
            // java compiler.Main maValue
    }

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 95
    Par défaut
    J'ai fait cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    public class Main {
     
    	public static void main(String[] args){
    		args = remplitArgs(new File("./"));
    		compileFichier(new File("./"),args);
    	}
    	/**
             * @param repertoire repertoire ou l on veut trouver les fichier
             * @return un tableau qui contient toutes les valeures a considerer comme argument
             */
    	public static String[] remplitArgs( File repertoire){
    		Vector<String> v = new Vector<String>();
    		if ( repertoire.isDirectory() ) {
    			File[] list = repertoire.listFiles();
    			if (list != null){
    				// on tourne sur tout les fichiers du repertoire en cour
    				for ( int i = 0; i < list.length; i++) {
    					if(list[i].toString().substring( list[i].toString().lastIndexOf(".")).equals(".lzx")) {
    						v.add(list[i].toString());
    					}
    				}
    			}
    		}
    		String[] table = new String[v.size()];
    		for ( int i = 0; i < v.size(); i++) {
    			table[i] = v.get(i);
    		}
    		return table;
    	}
            /**
             * Dans cette méthode on appel une classe "org.openlaszlo.compiler.Main"  qui compile les fichier qu'on lui passe en arguments
             * @param repertoire repertoire ou l on veut trouver les fichier 
             * @param list String[] contenant les valeurs a donnee en arguments
             */
    	public static void compileFichier(File repertoire,String[] list) {
    		if (list.length > 0){
     
    			// le pb est que cette fonction ne reconnait pas les arguement... Donc elle ne fait rien
                             org.openlaszlo.compiler.Main mainCompiler = new org.openlaszlo.compiler.Main( );
    		}
    	}
    }
    Je dois donc essayer de lui appliquer les arguments, comme si on exectuer cette commande
    java maClasse arg1 arg2 argn

    Merci de votre aide

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Février 2007
    Messages
    572
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Février 2007
    Messages : 572
    Par défaut
    Il faut ajouter un constructeur à la class compiler.Main qui prend un parametre. Et tu modifies ta boucle comme ceci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    compiler.Main mainCompiler = new compiler.Main( list[i].toString());
    ...
    Ou peut etre veux tu faire un truc du genre ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    compiler.Main.main(args);
    ...

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 95
    Par défaut
    Citation Envoyé par Sanguko
    Il faut ajouter un constructeur à la class compiler.Main qui prend un parametre. Et tu modifies ta boucle comme ceci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    compiler.Main mainCompiler = new compiler.Main( list[i].toString());
    ...
    Je n'ai pas les sources de cette classe.... et je dois l'utiliser comme cela, donc je suis obligé de passer par les arguments.

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Février 2007
    Messages
    572
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Février 2007
    Messages : 572
    Par défaut
    tu as déjà pensé à truc du genre ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    ...
    String[] args = list[i].toString().split(" ");
    compiler.Main.main(args);
    ...

  8. #8
    wkd
    wkd est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 112
    Par défaut
    hello,

    tu peux le faire en passant par un constructeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    // nom de ta classe
    class Test{
       Test(typeArg arg,....,typeArgn argn){
            //declaration dcl1;
            //declaration dcl2;
            //declaration dcln;
     
            // traitement des informations 
     
       }
     
       // prog principal
       public static void main(...){
           Test test=new Test();
       }
    }
    voila

Discussions similaires

  1. [Découpage en couche] besoin d'arguments
    Par MasterMic dans le forum Général Java
    Réponses: 3
    Dernier message: 28/03/2006, 12h01
  2. Réponses: 12
    Dernier message: 23/03/2006, 14h13
  3. Débutant qui a besoin d'aide
    Par BerneyBoy dans le forum Langage
    Réponses: 1
    Dernier message: 14/01/2006, 21h33
  4. [Méthodes]formaliser les besoins
    Par rimbaut dans le forum Méthodes
    Réponses: 3
    Dernier message: 28/06/2005, 08h39
  5. une méthode qui écrit dans la sortie html ?
    Par iubito dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 03/12/2003, 15h34

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