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 :

Variable static


Sujet :

avec Java

  1. #1
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 177
    Points : 71
    Points
    71
    Par défaut Variable static
    Bonjour,
    j'ai un soucis avec ce bout de code
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    //import
    
    
    public class Adherent {
    
    private String nomAdhrent;
    private String prenomAdhrent;
    private String adresseAdherent; 
    
    //identificateur pour chaque adherent
    Private static int numeroAdherent=0;
    	
        public Adherent(String nom,String prenom,String adresse){
        	nomAdherent=nom;
        	prenomAdherent=prenom;
        	adresseAdherent=adresse;
        	nbOuvragesEmpruntes=0;
        	numeroAdherent++;// je l'incremente ici
        }
    
    
    public String toString(Adherent a){
    	
    	return "le nom de l'adherent de numero "+a.getNumeroAdherent(a)+" est "+a.getNomAdherent()+" "+a.getPrenomAdherent()+" actuellement il a emprunté "+a.getNbOuvragesEmpruntes()+" ouvrages";
    	
    }
    
    
    
                    public static void main(String[] args) {
    	            // TODO Auto-generated method stub
                 
                    	LinkedList<Adherent> ad=new LinkedList<Adherent>();
                    	Adherent lambda;
                    	Scanner sc=new Scanner(System.in);
                    	
                    	for (int i=0;i<2;i++){
                    	System.out.println("saisir un nom");
                        	String s1=sc.next();
                        	System.out.println("saisir un prenom");
                        	String s2=sc.next();
                        	System.out.println("saisir une adresse");
                        	String s3=sc.next();
                    	
                            lambda=new Adherent(s1,s2,s3);
                    	ad.addLast(lambda);
                            }
                            for (int i=0;i<2;i++){
                            String affiche=ad.get(i).toString(ad.get(i));
                    	System.out.println(affiche);
                    	}
                            //affiche toujours le numeroAdhrent du dernier objet cree ????
    
    }
    je comprends pas pourquoi lorsque je demande l'affichage des numeroAdhrents j'ai comme toujours le numero du dernier objet cree, pourtant je passe l'objet en question en parametre à la methode toString.
    merci de votre aide

  2. #2
    Membre expérimenté Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Points : 1 540
    Points
    1 540
    Par défaut
    Il faut créer un autre attribut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    private int monNumeroAdherent;
    //COnstructeur
    monNumeroAdherent = numeroAdherent;
    monNumeroAdherent : propre à l'instance
    numeroAdherent : propre à la classe, donc si tu demande numeroAdherent, quelque soit l'instance avec laquel tu la demande, il te renverra toujours la même chose.
    Il était une fois [...] Et ils vécurent heureux et eurent beaucoup d'enfants!

  3. #3
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 177
    Points : 71
    Points
    71
    Par défaut
    effectivement, j y avais pas pensé.
    merci bq.

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

Discussions similaires

  1. [C++] Pb avec les variable static dans les classe
    Par quantik-revolution dans le forum C++
    Réponses: 3
    Dernier message: 03/03/2006, 18h40
  2. [C#] Variable static
    Par fremsoi dans le forum Windows Forms
    Réponses: 12
    Dernier message: 25/01/2006, 21h07
  3. [VB6]Initialiser une variable Static dans un évenement
    Par loverdose dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 20/01/2005, 14h57
  4. [héritage] héritage d'une variable static
    Par yaya44 dans le forum Langage
    Réponses: 14
    Dernier message: 29/09/2004, 13h36
  5. Variable static avec thread
    Par oxor3 dans le forum Threads & Processus
    Réponses: 7
    Dernier message: 27/08/2004, 11h45

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