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 d'une valeur tableau


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    906
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 906
    Par défaut Affichage d'une valeur tableau
    Bonsoir à tous et Bonne Année,
    Je voudrais afficher une valeur tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for (int i=0;i<tabTrie.length;i++) 
    	       { 
    	         System.out.println(tabTrie[i]); 
    	       }
    où tabTrie est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tabTrie=(Personne[])Personne.tri(tab);
    et tri est :
    de la Classe Personne
    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
     
     public static Classable[] tri(Classable[] tablo) 
        { 
             int i,j; 
             Classable c; 
             for (i=0;i< tablo.length;i++) 
             { 
                for( j = i + 1; j<tablo.length;j++) 
                { 
                    if (tablo[j].compare(tablo[i])==Classable.INFERIEUR) 
                    { 
                        c = tablo[j]; 
                        tablo[j] = tablo[i]; 
                        tablo[i] = c; 
                    } 
                    else if (tablo[j].compare(tablo[i])==Classable.ERREUR) 
                    { 
                         return null; 
                    } 
                } 
             } 
             return tablo; 
        }
    Le tri se fait bien
    Classable est une interface implémentée par la Classe Personne :
    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
     
    public interface Classable 
    { 
    //cette méthode pourra être appelée pour comparer l’instance 
    //courante avec celle reçue en paramètre 
    //la méthode retourne un entier dont la valeur dépend 
    //des règles suivantes 
    //1 si l’instance courante est supérieure à celle reçue 
    //en paramètre 
    //0 si les deux instances sont égales 
    //-1 si l’instance courante est inférieure à celle reçue  
    //en paramètre 
    //-99 si la comparaison est impossible 
     
      int compare(Object o); 
     
      public static final int INFERIEUR=-1; 
      public static final int EGAL=0; 
      public static final int SUPERIEUR=1; 
      public static final int ERREUR=-99; 
     
    }
    quand j'exécute :
    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
     
    Personne[] tab; 
    	    tab=new Personne[5]; 
    	    tab[0] = new Personne("toto2", "prenom2",new 
    	    GregorianCalendar(1922,2,15)); 
    	    tab[1] = new Personne("toto1", "prenom1 ",new 
    	    GregorianCalendar(1911,1,15)); 
    	    tab[2] = new Personne("toto5", "prenom5 ",new 
    	    GregorianCalendar(1955,05,15)); 
    	    tab[3] = new Personne("toto3", "prenom3 ",new 
    	    GregorianCalendar(1933,03,15)); 
    	    tab[4] = new Personne("toto4", "prenom4 ",new 
    	    GregorianCalendar(1944,04,15)); 
    	    Personne[] tabTrie; 
    	    tabTrie=(Personne[])Personne.tri(tab); 
    	       for (int i=0;i<tabTrie.length;i++) 
    	       { 
    	         System.out.println(tabTrie[i]); 
    	       }
    s'affiche :
    Cours.Personne@6a2bcfcb
    Cours.Personne@4de8b406
    Cours.Personne@3c756e4d
    Cours.Personne@7c0e2abd
    Cours.Personne@48eff760

    J'ai essayé avec toString mais ç a ne marche pas

    Si quelqu'un a une idée MErci

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Quand on "affiche" une valeur de tableau par System.out.println( tab[indice] ); qui n'est pas de type primitif, donc de type objet, c'est la méthode toString() de l'instance d'objet qui est invoquée pour déterminer la chaîne utilisée pour l'affichage.

    Cette méthode dans la classe cours.Personne affiche ce que tu vois, le Cours.Personne@6a2bcfcb, parce que c'est l'implémentation de la classe java.lang.Object dont Personne hérite qui est utilisée. Si tu veux voir autre chose, il te suffit de redéfinir la méthode toString() de la classe cours.Personne pour qu'elle retourne ce que tu veux.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    906
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 906
    Par défaut
    Merci ! ça marche maintenant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      public String toString() {
        	return "Nom " + this.nom + "Prénom " + this.prenom + "Date Naissance " + this.date_nais;
        }
    A+

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

Discussions similaires

  1. [V5] Affichage d'une valeur d'une section dans un tableau
    Par maju0906 dans le forum Deski
    Réponses: 4
    Dernier message: 19/07/2010, 14h00
  2. [MySQL] Affichage d'une valeur de la bdd dans un input
    Par leloup84 dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 23/02/2006, 12h28
  3. forcer l'affichage d'une valeur null
    Par sundjata dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 23/11/2005, 09h52
  4. [JDBC] Affichage d'une valeur de type CloB
    Par Jihed Amine Maaref dans le forum JDBC
    Réponses: 3
    Dernier message: 07/04/2005, 15h03
  5. Réponses: 13
    Dernier message: 24/02/2005, 16h45

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