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

avec Java Discussion :

[Java] arguments infini d'une méthode


Sujet :

avec Java

  1. #1
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 90
    Points : 49
    Points
    49
    Par défaut [Java] arguments infini d'une méthode
    Bonjour,
    Comment fait-on pour déclarer un tableau avec un nombre de valeurs indéterminées ?
    ou
    Comment déclarer une méthode avec un nombre indéterminées d'arguments ?

    Je croit que c'est un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public static int func(int tab[...])
    	{
    //implémentation
    }
    int tab[...] nous donnerait : int val1,int val2, ...

    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    1) Quand on passe un tableau en argument d'une méthode, on ne spécifie pas sa taille :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void maMethode(int[] tableau) { /* code */ }
    2) Si tu utilises Java 5 (ou supérieur), tu peux aussi écrire une méthode ayant un nombre variable de paramètres :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void maMethode(int... desEntiers) { /* code */ }
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  3. #3
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 324
    Points
    4 324
    Par défaut
    A noter qu'une méthode var-args (soit une méthode a nombre d'arguments variables), peut recevoir un tableau lors de son appel.

    ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void m(String[] arg)
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void m(String... arg)
    peuvent être appelées de la même façon.
    http://alaindefrance.wordpress.com
    Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
    SDE at BitTitan

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juillet 2009
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 35
    Points : 26
    Points
    26
    Par défaut
    Si tu cherche juste a manipulé un nombre indéterminer de valeur pourquoi ne pas utilisé la class Vector plutôt qu'un tableau?

  5. #5
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 570
    Points : 15 535
    Points
    15 535
    Par défaut
    Si tu cherche juste a manipulé un nombre indéterminer de valeur pourquoi ne pas utilisé la class Vector plutôt qu'un tableau?
    Tout d'abord parce que dans ce cas là, un tableau semble tout a fait adapté. La taille du tableau passé en paramètre d'une fonction est déterminé au moment de l'appel et ne devrait plus varier ensuite.

    Ensuite parce que car la classe Vector n'est plus conseillée, il vaut mieux utiliser un ArrayList.

  6. #6
    Membre habitué
    Inscrit en
    Mars 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2008
    Messages : 254
    Points : 188
    Points
    188
    Par défaut
    Si tu utilises Java 5 (ou supérieur),

    public void maMethode(Montype ... paramètre) { /* code */ }


    on peux pas passer plusieurs paramètres avec des types differents, les parmètre dovent être du même type.



  7. #7
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 570
    Points : 15 535
    Points
    15 535
    Par défaut
    Certes mais on peut choisir le type Object ...

  8. #8
    Membre habitué
    Inscrit en
    Mars 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2008
    Messages : 254
    Points : 188
    Points
    188
    Par défaut
    Re,

    biensur



Discussions similaires

  1. Argument générique pour une méthode
    Par tnarol dans le forum Général Java
    Réponses: 1
    Dernier message: 19/07/2012, 12h13
  2. argument facultatifs d'une méthode ?
    Par mastronic dans le forum C#
    Réponses: 3
    Dernier message: 22/12/2010, 14h36
  3. Du javascript en argument d'une méthode java
    Par mooosh dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/07/2007, 13h33
  4. Réponses: 1
    Dernier message: 10/10/2006, 15h14
  5. [applet]récupérer ds un post ce que renvoie une méthode java
    Par BouB dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/02/2006, 11h37

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