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 :

Affichage des valeurs des variables d'instance


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Par défaut Affichage des valeurs des variables d'instance
    Bonjour TLM,

    Je teste actuellement les collections en Java, pour ce la j'ai créé une classe Java (Pays.java)

    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
     
    public class Pays {
     
        private String nom;
        private int indicatif;
     
        public Pays() {
        }
     
        public Pays(String nom, int indicatif) {
            this.nom = nom;
            this.indicatif = indicatif;
        }
     
        public String getNom() {
            return nom;
        }
     
        public void setNom(String nom) {
            this.nom = nom;
        }
     
        public int getIndicatif() {
            return indicatif;
        }
     
        public void setIndicatif(int indicatif) {
            this.indicatif = indicatif;
        }
     
        @Override
        public String toString() {
            return "Pays{" + "nom=" + nom + ", indicatif=" + indicatif + '}';
        }
     
     
     
    }
    Voici ce que j'ai écrit dans la méthode main():

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ArrayList<Pays> countriesList = new ArrayList<Pays>();
             countriesList.add(new Pays("France", 0034));
             countriesList.add(new Pays("Italie", 0042));
             
             for(Pays p:countriesList){
                 System.out.println(p);
             }
    Le problème c'est que lors de l'affichage dans le console de mon IDE, je reçois ceci:

    Pays{nom=France, indicatif=28}
    Pays{nom=Italie, indicatif=34}
    Pourquoi les valeurs de la variable indicatif ne sont plus les mêmes?! Je sais que ça une relation avec les types de paramètres, mais comment faire pour avoir l'affichage de 0034 par exp?

    Merci en avance!

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Dans le code source, les valeurs numériques qui débute par 0 sont interprété en base octale.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int x = 034; // int x = 28;
    Ne rajoutes pas de zéro au début du chiffre !


    a++

  3. #3
    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
    Citation Envoyé par L'aigle de Carthage Voir le message
    mais comment faire pour avoir l'affichage de 0034 par exp?
    Il faut utiliser une String prefixe = "0034" mais pas un int.

    Les int, long et autres types numériques servent à travailler sur les nombres en tant que valeurs. Or le nombre 0034 n'est rien d'autre que le nombre 34 devant lequel tu as mis des zéros inutiles. Tu ne peux pas espérer qu'un int se souviendra de zéros à mettre devant, la valeur est la même.

    Ton 0034 n'est donc pas un nombre, c'est un texte. Et les textes, ça se met dans des String.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/03/2011, 03h07
  2. Réponses: 5
    Dernier message: 15/06/2007, 11h58
  3. Affichage des valeurs des variables avec tkprof
    Par hkhan13 dans le forum Oracle
    Réponses: 2
    Dernier message: 04/07/2006, 11h59
  4. récupérer des valeurs de variables de pages en pages
    Par harlock59 dans le forum Langage
    Réponses: 6
    Dernier message: 19/12/2005, 12h04
  5. Réponses: 13
    Dernier message: 21/09/2005, 15h39

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