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 :

Entier qui s'incrément automatiquement.


Sujet :

avec Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 6
    Points : 7
    Points
    7
    Par défaut Entier qui s'incrément automatiquement.
    Bonsoir,

    J'ai un problème et j'ai besoin de votre aide si possible ( je suis un débutant en java):

    j'ai une classe qui se caractérise par un un matricule(int), un nom(String) et un prénom(String),
    je veux donc créer un constructeur avec 2 paramètre (nom,prénom)ce constructeur initialise le matricule (affecté de façon incrémentale par rapport au nombre des objets)
    voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class Salarie {
    	static int matricule;
    	protected String nom;
    	protected String prenom;
    	public Salarie(String n, String p){
    		matricule=matricule++;
    		this.nom=n;
    		this.prenom=p;
    	}
    le programme de test suivant n'affiche que des 0 dans le matricule
    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
    public class test {
     
    	public static void main(String[] args) {
    		Salarie s1=new Salarie("u1", "p1");
    		Salarie s2=new Salarie("u2", "p2");
    		Salarie s3=new Salarie("u3", "p3");
    		Salarie s4=new Salarie("u4", "p4");
    		System.out.println(s1.toString());
    		System.out.println(s2.toString());
    		System.out.println(s3.toString());
    		System.out.println(s4.toString());
     
    	}
     
    }
    Merci d'avance

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Dude, tu parles,
    - d'une part, d'un compteur qui s'incrémente,
    - d'autre part, d'une variable membre qui contient le numéro de matricule de l'objet, tout comme tu as des variables membres qui contiennent le nom et le prénom.

    Ce sont deux choses différentes. Tu ne peux pas avoir une seule variable qui-fait-tout-débrouille-toi-toute-seule.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre expérimenté 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
    Points : 1 622
    Points
    1 622
    Par défaut
    Le mot clé static implique que ta variable matricule va être la même pour toutes les instances de ta classe Salarie. Tu ne peux donc pas t'en servir comme d'un ID.

    Tu peux éventuellement déclarer une variable statique qui te servira de générateur de matricule, puis un attribut de ta classe pour ce matricule.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public class Salarie {
     
            public static AtomicInteger genID = new AtomicInteger();
     
    	protected int matricule;
    	protected String nom;
    	protected String prenom;
     
    	public Salarie(String n, String p){
    		matricule= genID.getAndIncrement();
    		this.nom=n;
    		this.prenom=p;
    }

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Merci beaucoup pour votre aide !

Discussions similaires

  1. [XL-2007] Besoin d'aide pour créer un tableau qui va incrémenter automatiquement des onglets
    Par Bernardini dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 28/02/2015, 17h40
  2. Enregistrer un fichier avec un nom qui s'incrémente automatiquement
    Par Tomtomtvn dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 26/07/2012, 14h24
  3. un compteur qui s'incrémente automatiquement
    Par axelo dans le forum VBA Access
    Réponses: 3
    Dernier message: 11/01/2012, 11h47
  4. champs qui s'incrémente automatiquement
    Par FstDsi dans le forum Reports
    Réponses: 4
    Dernier message: 20/04/2009, 15h58
  5. déclarer un type qui incrémente automatiquement
    Par Elstak dans le forum Langage SQL
    Réponses: 4
    Dernier message: 18/07/2008, 10h39

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