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 :

Problème d'appel de méthodes


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 21
    Points : 13
    Points
    13
    Par défaut Problème d'appel de méthodes
    Bonjour à tous,

    Je débute et je suis confronté à un problème :

    J'ai mon fichier Membres.java qui contient
    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
    import java.util.ArrayList;
     
    public class Membres extends Thread {
     
        private static final ArrayList<String> membresConnectes = new ArrayList<>();
     
        public ArrayList<String> listeMembres() {
            return membresConnectes;
        }   
     
        public void ajouterMembre(String pseudo) {
            membresConnectes.add(pseudo);
        }
     
        public void retirerMembre(String pseudo) {
            membresConnectes.remove(pseudo);
        }
    }
    Ce que je veux faire c'est depuis 2 autres fichiers .java, utiliser ajouterMembre() et retirerMembre() pour ajouter le "pseudo" à mon ArrayList, ainsi que récupérer la variable avec listeMembres() pour l'exploiter.

    Tout ce que j'ai essayé ne fonctionne pas, pouvez-vous m'aider ?

    Merci

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    1) pourquoi ce extends Thread?
    2) montre nous ce que tu a essayé, si tu veux qu'on te dise où sont tes erreurs

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    1) Il faut l'oublier c'était pour un test

    2) J'ai essayé Membres.ajouterMembre(pseudo); par exemple

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Ce ne sont pas des méthodes statiques, tu ne peux pas y accéder depuis juste le nom de la classe. Il te faut d'abord créer une instance pour ensuite appeler les méthodes sur cette instances:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Membres membres = new Membres();
    //.....
    String pseudo = .....
    membres.ajouterMembre(pseudo);
    //.....
    membres.retirerMembre(pseudo);

  5. #5
    Membre actif
    Homme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Août 2012
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 406
    Points : 235
    Points
    235
    Par défaut
    Citation Envoyé par Mati24 Voir le message
    1) Il faut l'oublier c'était pour un test

    2) J'ai essayé Membres.ajouterMembre(pseudo); par exemple
    C'est mieux de poster le code source avec éventuellement les erreurs pour qu'on ai une idée de ton véritable problème
    La force d'un programmeur ne réside pas dans le fait qu'il écrive des codes puissants mais dans sa capacité à les maintenir!!!

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    En effet ça fonctionne mieux, merci

    Par contre, j'ajoute et retire des nombres depuis un Reception.java, et j'utilise listeMembres() depuis Client.java.
    Du coup les liste ne sont pas les mêmes, qu'est-ce que j'ai comme solution ?

    Merci

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2011
    Messages : 65
    Points : 88
    Points
    88
    Par défaut
    Bonjour,

    comme solution tu peux définir ta classe comme un Singleton, ce qui fait que ce sera toujours la même instance qui sera utilisée. Attention dans le cadre de développement multi-threads par contre, si jamais ça t'arrive, il faudra que tes collections et leurs accés soient 'synchronisés' mais comme ce n'est pas le sujet je ne m'étends pas plus

    Lien pour faire un singleton en java:

    http://thecodersbreakfast.net/index....gleton-en-java

Discussions similaires

  1. Problème d'appel de méthode d'objets COM
    Par tibobao dans le forum C#
    Réponses: 0
    Dernier message: 03/08/2010, 18h35
  2. Problème d'appel des méthodes OpenGL
    Par choko83 dans le forum OpenGL
    Réponses: 5
    Dernier message: 24/04/2008, 11h02
  3. Problèmes d'appels de méthodes
    Par parano dans le forum C++
    Réponses: 7
    Dernier message: 07/03/2007, 13h08
  4. Héritage : problème d'appel de méthodes
    Par parano dans le forum C++
    Réponses: 15
    Dernier message: 02/03/2007, 15h42
  5. Problème pour appeler une méthode d'une autre classe
    Par tse_tilky_moje_imja dans le forum Général Python
    Réponses: 7
    Dernier message: 03/03/2006, 14h33

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