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 :

appel d'une méthode


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 7
    Par défaut appel d'une méthode
    bonjour je débute avec java et j'ai ecris un programme
    une class et je veux faire l'appel a une méthode de cette classe j'ai tous essayé mais ça marche pas aidez moi svp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class Exo2{
    public static int Somme(int t[])
    {
            int s=0;
            for (int i=0;i<=6;i++) s=s+t[i] ;
            return(s);
    } // fin somme
     
    }
    et le programme main
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    import javax.swing.*;
    import java.util.*;
    public class Exo21 {
    public static void main(String[]args){
    int[] tab={1,23,12,-4,6,89,2};
    int c= new Exo2.Somme( int tab[]);
    }
    }
    comment je fait appel a la méthode somme dans main merci

  2. #2
    Membre Expert Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Par défaut
    Salut,

    En déclarant ta méthode somme comme étant static, tu n'as pas besoin de créer une instance de ta classe pour y accéder.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int c= Exo2.Somme( tab );

  3. #3
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 7
    Par défaut
    comment faire alors

  4. #4
    Membre Expert Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Par défaut
    Comme je l'ai écrit.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int i = MaClasse.maFonction();
    Ce code permet d'appeler la fonction static maFonction dans la classe MaClasse

  5. #5
    Membre confirmé
    Homme Profil pro
    Developpeur web/Java
    Inscrit en
    Février 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Developpeur web/Java
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Février 2008
    Messages : 98
    Par défaut
    Citation Envoyé par Nico02 Voir le message
    Salut,

    En déclarant ta méthode somme comme étant static, tu n'as pas besoin de créer une instance de ta classe pour y accéder.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int c= Exo2.Somme( tab );
    La réponse est dans le message de Nico02.

    Et pour aller plus loin tu devrais changer la boucle for dans la méthode somme, car actuellement ça fonctionne car il y a 7 valeurs dans le tableau mais si il y en aurait moins ou plus ça ne fonctionnerait pas. Tu peux récupérer la laongueur du tableau en faisant un .length ou alors regarde autour des for étendus

  6. #6
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    - Pas de new. Cette méthode est static, tu n'as donc pas besoin de créer un objet pour l'appeler.
    - Le paramètre de la méthode est la variable tab. On sait déjà que son type est int[], ça ne sert à rien de le répéter et il ne faut pas le faire.

    La syntaxe correcte est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int c = Exo2.Somme(tab);
    Remarques annexes :
    - Une méthode devrait toujours commencer par une minuscule, il faudrait donc l'appeler somme() et pas Somme()
    - Pour tab ça va. Mais les variables s et t sont pas bien claires. Tu devrais plutôt les appeler somme et tab.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 7
    Par défaut merci
    merci becoup

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

Discussions similaires

  1. Appel d'une méthode virtuelles
    Par BIPBIP59 dans le forum C++Builder
    Réponses: 4
    Dernier message: 24/03/2006, 14h00
  2. Réponses: 2
    Dernier message: 29/12/2005, 10h25
  3. Réponses: 2
    Dernier message: 06/12/2005, 09h41
  4. Réponses: 6
    Dernier message: 27/05/2005, 15h43
  5. Comment connaitre l'appelant d'une méthode
    Par Alec6 dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 12/07/2004, 14h51

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