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 :

valeur de variable non gardée


Sujet :

avec Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    541
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 541
    Points : 124
    Points
    124
    Par défaut valeur de variable non gardée
    Bonjour, j'ai constaté que ma variable nb valait 0 dans le getter:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    class maclasse{
     
    public void main(String[] args)
    {
    maclasse2 mc2=new maclasse2();
    int val=mc2.getVal();
     
    }
     
     
    }


    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
     
    class maclasse2{
    public static int nb=0;
     
    public maclasse2()
    {
    nb++;
    setVal(nb);
    }
     
    public void setVal(int a)
    {
    nb=a;
    }
     
    public int getval(){
    return nb;
    }
     
    }
    D'où vient le problème?

  2. #2
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Bonsoir,

    Désolé mais je ne comprends pas tout
    • Pourquoi définir une propriété de classe qui est mise à jour par des méthodes d'instance ?
    • Pourquoi, dans le constructeur, faire nb++; puis setVal(nb); ? Ce dernier appel est inutile
    • La valeur de val dans la méthode main est 1 et non 0
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

    F.A.Q. : Java, PHP, (X)HTML / CSS

    N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème

  3. #3
    Membre actif
    Homme Profil pro
    Analyst
    Inscrit en
    Juillet 2008
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyst
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 150
    Points : 217
    Points
    217
    Par défaut
    Bonjour,
    Erreur saisie ?
    -> Méthode main : static
    -> getval : getVal

    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
    class maclasse{
     
    public static void main(String[] args)
    {
    maclasse2 mc2=new maclasse2();
    int val=mc2.getVal();
    System.out.println(val);//Affiche1
    maclasse2 mc2b=new maclasse2();
    val=mc2b.getVal();
    System.out.println(val);//Affiche2
     
    }
     
     
    }
    Ca affiche donc bien 1 puis 2. J'ai pas compris ton problème?

    Par ailleurs, le setVal appelé dans le constructeur ne sert à rien.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    541
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 541
    Points : 124
    Points
    124
    Par défaut
    Comment cela se fait-il qu'avec ce code je n'ai pas la liste des dates dans dates variable de maclasse?:

    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
     
    public class maclasse2  {
      public static ArrayList<Object> dates = new ArrayList<Object>();
      public maclasse2() {
        long[] DATA={2,4};
        for (int i = 0; i < DATA.length; i++) {
          setL(DATA.length,DATA[i]);
        }
     
      private void setL(int longueur,long date) {
     
        for (int i = 0; i < longueur; i++) {
            dates.add(i,date);		
        }
     
      }
      public ArrayList<Object> getDate() {    	
        return dates;
      }
    }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    class maclasse {
      public void main(String[] args){
        maclasse2 mc=new maclasse2();
        ArrayList<Object> dates = new ArrayList<Object>(mc.getDate());
      }
    }

  5. #5
    Membre actif
    Homme Profil pro
    Analyst
    Inscrit en
    Juillet 2008
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyst
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 150
    Points : 217
    Points
    217
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    class maclasse {
    public static void main(String[] args){
    maclasse2 mc=new maclasse2();
    ArrayList dates = new ArrayList(mc.getDate());
    
    System.out.println(dates.size()); 
    }
    }
    Ca affiche 4 ce qui semble logique.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    541
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 541
    Points : 124
    Points
    124
    Par défaut
    dates contiendra quoi dans le main de la classe maclasse?

  7. #7
    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
    une liste de dates, formée de 4 éléments, exactement ce que votre code de maclasse2 construit.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    541
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 541
    Points : 124
    Points
    124
    Par défaut
    ce n'est pas plutot une liste formée de 2 dates?

  9. #9
    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
    ben non, t'as deux boucles qui tournent chacune deux fois, ca fait bien 4

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    541
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 541
    Points : 124
    Points
    124
    Par défaut
    ah oui tu as raison je n'ai pas fait attention.

Discussions similaires

  1. Réponses: 3
    Dernier message: 23/04/2015, 15h09
  2. Réponses: 9
    Dernier message: 15/04/2014, 11h09
  3. [POO] Une valeur de variable non transmise.
    Par claritos1 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 23/05/2008, 12h45
  4. valeur de variable non affichée
    Par dieudo dans le forum Langage
    Réponses: 5
    Dernier message: 16/01/2008, 22h38
  5. [Debutant][Système]Récupérer la valeur des variables systeme
    Par cameleon2002 dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 16/02/2007, 10h57

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