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 :

votre avis sur le probleme


Sujet :

avec Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 225
    Points : 97
    Points
    97
    Par défaut votre avis sur le probleme
    sur la solution a la question posee :

    soit une foree enchantee dans laquelle on peut trouver
    2 types de nains, les barbus et les rase2pres, ces derniers ne se rasent qu'une fois dans l'annee et on connait la date
    et des fees a qui on doit tailler une robe une fois dans l'anne aussi
    donner la liste des taches a faire (raser et robe) ordonnee par ordre chrono
    donner une liste de tous les nains a grand pied

    solution :
    une classe abstraite nains :
    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
     
    public abstract class Nains {
     
        private String nom, pied;
     
        public Nains() {
          this("","");
        }
     
        public Nains(String nom, String pied) {
          this.nom = nom;
          this. pied = pied;
        }
     
        public String getNom(){
          return nom;
        }
     
        public void setNom(String nom){
          this.nom = nom;
        }
     
        public String getPied() {
          return pied;
        }
     
        public void setPied(String pied) {
          this. pied = pied;
        }
     
        public String toString(){
     
          return ("Nom : " + nom + "\nPied : " + pied );
     
        }
    }
     
    2 classes derivees de Nains :
     
    public class Barbu extends Nains{
     
    	public Barbu () {
    		super();
    	}
     
    	public Barbu(String nom, String pied){
    		super(nom,pied);
    	}
     
     
    	public String toString() {
    		String s = super.toString();
    		return s ;
    	}
    }
     
    public class Rase2Pres extends Fleurs implements Comparable{
    	private Date dateRase;
     
    	public Rase2Pres () {
    		super();
    		dateRase = null;
    	}
     
    	public Rase2Pres (String nom, String pied, Date dateRase){
    		super(nom,pied);
    		this.dateRase = dateRase;
    	}
     
    	public String getDateRase() {
    		return dateRase;
    	}
     
    	public void setDateRase(Date dateRase) {
    		this.dateRase = dateRase;
    	}
     
    	public int compareTo(Object o) {
    		return this.dateRase.compareTo( ((Nains)o).dateRase );
    	}
     
    	public String toString() {
    		String s = super.toString();
    		return s + "\nDate rasage : " + dateRase;
    	}
    }
     
    public class RaseS2Pres {
     
    	private ArrayList a = new ArrayList();
     
    	public void add (Rase2Pres  f) {
    		a.add(f);
    	}
     
    	public String toString(){
    		Collections.sort(a);
    		String s = "";
    		for (Object o : a) {
    			s = s + o + "\n\n";
    		}
    		return s;
    	}
    }
     
    public class Test {
     
    	public static void main(String args[]) {
    		Date d1 = new Date(2009,3,15);
    		Date d2 = new Date(2009,4,01);
     
    		Nains f = new Nains();
    		f.add(new rase2Pres("Le grincheux", "plat", d1));
    		f.add(new rase2Pres("Le timbré", "grand", d2));
     
    --> pour la fee c 'est la m^me choses et ca donnerai
    		Fees ar = new Fees();
    		ar.add(new Fee("Carrabosse",d1));
    		ar.add(new Fee("Perchee",d2));
     
     
    	}
    }
    z'en penser quoi?

  2. #2
    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
    Citation Envoyé par nine Voir le message
    z'en penser quoi?
    ta cigarette, elle était enchantée aussi?


    d'un point de vue java, je note quelques curiosités:

    "extends Fleur"? Et pourquoi pas "nain" ?

    la classe Nain n'a pas de méthode add (ton main va donc pas compiler)

    RaseS2Pre <- mauvais nom, si on respecte la nomenclature java, c'est RasesDePres

    ton compareTo va foirer (Nain n'a pas de champ dateRase)

    c'est quoi çà pour une question?

  3. #3
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 572
    Points : 631
    Points
    631
    Par défaut
    Et tu as deux classes qui s'appellent Rase2Pres, ça va etre pratique.

    Juste pour savoir, t'as essayé de compiler ton code ?
    Venez partager vos expériences au sein d'un projet sur slicesofit, agile & amélioration continue

  4. #4
    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
    Citation Envoyé par Faiche Voir le message
    Et tu as deux classes qui s'appellent Rase2Pres, ça va etre pratique.

    Juste pour savoir, t'as essayé de compiler ton code ?
    Ha non, y a Rase2Pres et RaseS2Pres

  5. #5
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 572
    Points : 631
    Points
    631
    Par défaut
    ah désolé, je retire.
    Venez partager vos expériences au sein d'un projet sur slicesofit, agile & amélioration continue

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 225
    Points : 97
    Points
    97
    Par défaut
    vous me charriez et vous avez raison, m'enfin pas trop !

    ok il y a des bizzareries, pas de fleurs que des nains

    il y a bien une classe main : dans la classe test, j'importerai mes classes apres

    il n'y a pas de add dans la classe nain car je cree ensuite une liste dnas la class RaseS2pres dans laquelle je rajoute mes nains avec la methode add

    aucun respect de la nomenclature je suis d'accord, je ne la connais pas encore, et je t'avoue qu'au rythme ou on nous fais bouffer du java, la nomenclature n'est pas ma priorite...plus tard

    mon compareTo peut foirer, je veux bien, mais j'ai bien declarer dateRase, c'est d'ailleurs le seul attribut de ma classe

    Effectivement je n'ai pas compiler mais je voulais juste savoir si conceptuellement ca tient la route :

    a savoir 1 classe abstraite de laquelle je derive ensuite mes 2 types de nains
    pour celui qui doit se raser j'implemente la class comparable afin de definire une methode compareTo qui me permettra par la suite (une fois integre dans une liste) de faire un tri sur la date

    je comptais faire la meme chose pour la fee que j'integrerai aussi dans la ArrayList
    un sort devrait me donnait par ordre chrono les dates de rasage et de confection de robe

    est-ce bien cela ?

    merci encore

  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
    pour le add manquant, je mentionnais que tu appelais justement ce add sur une class qui n'en avait pas! Pour la nomenclature, elle est pas bien dure en java, voilà un apercu rapie et facile à retenir

    package: org.mycompany.myapplication
    nomDeVariable
    NomDeClasse
    NOM_DE_CONSTANTE
    uneMethode()

    il est recommandé que les méthode contiennent toujours un verbe dans leur nom, au minimum. Quelques exemples: add(), get(), getMachin(), faireTruc()


    C'est facile à retenir, et tu verra que java respecte à 99% ces conventions dans ses propres librairies. Ce qui t'aidera à rapidement trouver, dans ces meme librairies, les méthodes dont tu as besoin


    Quand à ta découpe, en NainsBarbus, NainsRases, ok. Mais pour le comparable, je mettrais un bemol. Je suggèrerais de retirer cette interface et de préférer une interface custom de ce type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public Interface Calendrier {
        public Date getProchaineAction();
    }
    cette interface serait implémentée aussi bien par le NainsBarbus que les NainsRases et les Fees. Ensuite tu ferais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Collections.sort(list, new Comparator(){
    ....
    });

    et dans la méthode de comparaison, tu ferais des typecasting vers Calendrier pour comparer les date de prochain travail. Pourquoi çà? Parce que, sinon, tu va te retrouver avec un comparable qui compare des nains et de fées, ce sera fonctionnel mais illogique d'un point de vue design. On utilise Comparable quand on veux comparer de chose de meme type. Pour des comparaison plus complexe oou des comparaison liées à une liste précise, on utilise l'interface Comparator qu'on utilise au cas par cas suivant le tri à faire.

    aussi, le classe qui regroupes les nains est inutile, après tout l'exercice ne mentionne pas qu'il faut séparer les nains des fées, au contraire.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 225
    Points : 97
    Points
    97
    Par défaut
    nomenclature ok je recopie le resume, autant prendre des habitudes

    ok pour tout mettre ensemble les nains et les fee mais pour les nainBarbue il n'y a pas de date, je ne vois pas comment faire une methode de comparaison generale? car ensuite dans ma collection si je fais un sort qu'adviendra t'il de mes barbus ? et pour la liste des nains a grand pied, utiliser une autre collectio n? faut peut etre que je revoie les collections....

    pas de classe abstraite nain : effectivement dans la classe derivee nainBarbue je ne faisais rien et ca me genais un peu

    sinon je trouvais qu'au contraire cela correspondait plus a la realite (il y a des nains de 2 types donc deux ss classe) mais c'est peut etre pas comme ca qu'il faut voir les choses

    toujours autant merci

  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
    j'ai pas parlé de retirer la classe abstraite. Pour les nains barbus, suffit que la méthode de prochaine action renvoie null

    Pour les grand pieds, tu peux parcourir en java ta list et n'afficher que ceux qui on des grands pieds (un simple if)

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 225
    Points : 97
    Points
    97
    Par défaut
    ouai ...je vais gratter un peu car je vois tout ca de loin (trop, alors je t'embete pas plus)

    pour les dates, on doit utiliser le calendrier gregorien, y a t'il l'equivalent du timestamp dednas ? ca me permettrait dans la methode de comparaison de faire un < a,
    est ce la meilleur façon de faire ?

  11. #11
    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
    le calendrier gregorien possède déjà des méthodes de comparaison que tu peux utiliser

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 225
    Points : 97
    Points
    97
    Par défaut
    ok et encore merci !

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 225
    Points : 97
    Points
    97
    Par défaut une solution
    me voila de retour et toujours avec ma foret enchantee et ses habitants

    ou j'en suis :

    1 classe abstraite : habitants
    3 classes derivees de habitants : nainsRases, nainsBarbus et Fees
    dans les 2 classes nainsRases et Fees j'ai implemente un comparator :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public static final Comparator DATE_COMPARATOR = new Comparator<nainsRases>() {
     
    		@Override
    		public int compare(nainsRases arg0, nainsRases arg1) {
    			nainsRases p=(nainsRases) arg0;
    			nainsRases q=(nainsRases) arg1;
    			  return p.getDateRasage().compareTo(q.getDateRasage());	  	 
    		}
    	};
    meme chose pour Fees

    pour finir j'ai :

    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
    public class Test {
    	private ArrayList liste1 = new ArrayList();
    	private ArrayList liste2 = new ArrayList();
    	private ArrayList liste3 = new ArrayList();
     
    	public static void main(String[] args) {
    		new Test();
    	}
     
    	public Test() {
    		//pour avoir la liste des nains avec une taille de pieds donnees 
    		this.liste1.add(new nainsBarbus("grincheux", "grand"));
    		this.liste1.add(new nainsBarbus("travailleur", "petit"));
     
    		for (Iterator iter = liste1.iterator(); iter.hasNext();) {
    		    nainsBarbus p   = (nainsBarbus) iter.next();
    		    if (p.getPied()=="grand")
    		    System.out.println("nom = " + p.getNom() + " (pied= " + p. getPied() + ")" );	
     
     
                    //pour avoir la liste ordonnee selon ordre chrono de date de rasage
    		Calendar cal = Calendar.getInstance();
    		Date d = cal.getTime();
    		cal.set(2008, 1, 1);
    		d = cal.getTime();
    		this.liste2.add(new nainsRases("furieux", "grand",d));
                    cal.set(2008, 1, 15);
    		d = cal.getTime();
                    this.liste2.add(new nainsRases("travailleur", "moyen",d));
     
                    Collections.sort(this.liste2, nainsRases.DATE_COMPARATOR);	
     
    		for (Iterator iter = liste2.iterator(); iter.hasNext();) {
    		    nainsRases = (nainsRases) iter.next();
    		    System.out.println("nom = " + a.getNom() + " pied= " + a.getPied() + " date de rasage = " + a.getDateRasage());	
    		}
     
                    //pour avoir la liste ordonne selon ordre chrono de date de confection de robe pour les gentils fees
    		cal.set(2009, 2, 15);
    		d = cal.getTime();
    		this.liste3.add(new Fee( "Charmante",  d));
    		cal.set(2009, 1, 1);
    		d = cal.getTime();
    		this.liste3.add(new Fee( "Aimante",  d));
     
    		Collections.sort(this.liste3, Fee.DATE_COMPARATOR);	
    		for (Iterator iter = liste3.iterator(); iter.hasNext();) {
    			Fee a   = (Fee) iter.next();
    		    System.out.println("nom = " + a.getNom() + " date de taille = " + a.getDateTaille());	
    		}
     
    }
    j'aimerai faire autrement car je ne trouve pas optimale d'utiliser 3 listes
    comment faire pour mettre dans la collection une seule liste , on aurait du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    this.liste1.add(new nainsBarbus("grincheux", "grand"));
    this.liste1.add(new nainsRases("furieux", "grand",d));
    this.liste1.add(new Fee( "Aimante",  d));
    et une seule boucle avec Object o
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for (Iterator iter = liste1.iterator(); iter.hasNext();) {
        Object o =iter.next();
    au lieu de 
        nainsBarbus p   = (nainsBarbus) iter.next();
    j'imagine de tester le type d'objet, savoir si c une fee ou un NR ou un NB et en fonction on appelerait le bon comparator...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    switch (type de mon objet){
    case Fee:...
    case nainsBarbus :...
    case nainsRases :... 
    }
    besoin d'aide, je sais plus ou j'habite!

    EDIT par tchize_: je crois que je me répète, mais ça rend les message lisibles.

  14. #14
    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
    pour avoir une seule liste, il suffit que tes nains et tes fées implémentent une interface commune permettant d'obtenir la date qui leur est liée (exemple: public Calendar getNextAction()). Ensuite tu fait un seul comparator qui travaille avec ça. Tu peux même te passer de l'interface en définissant cette méthode comme abstraite dans ta classe Habitant (puisque tout hérite de Habitant)

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 225
    Points : 97
    Points
    97
    Par défaut
    pour l'interface :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    import java.util.Calendar;
     
    public class Jardin {
    	interface jardinInterface {
    		public Calendar getNextAction();
    	}
     
    }
    j'ai modifié la classe abstraite habitant pour qu'elle implemente l'interface, par contre je bloque pour la methode generique de comparaison... :

    [/code]
    public abstract class Habitant implements foretInterface {
    ...

    public Calendar getNextAction(){
    if (this instanceof nainsBarbus){
    ?
    }

    if (this instanceof nainsRases){
    ?
    }

    if (this instanceof Fees){
    ?
    }

    }
    }
    [/code]

    au fait merci

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 225
    Points : 97
    Points
    97
    Par défaut
    arf non ca ne peut pas marcher..
    il faudrait 2 types d'action car on veut 2 listes
    liste 1 : tous les nains a grand pied, "grand" etant passe en parametre
    liste 2 : toutes les dates par ordre chrono rasage et taille de robe

    donc si on poursuit dans l'idee de l'interface :
    on rajoute une methode : getLePied(String pied);

    non ?

  17. #17
    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
    le comparator a juste a comparer les valeur retournées par nextAction. Ta classe abstraite n'a pas besoin d'implémenter la méthode getNextAction, elle peu la laisser abstraite (ce sont les descendant qui l'implémenteront). Et surtout, ta classe abstraite n'a pas besoin de connaitre ses descendants (donc pas de instance of)

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 225
    Points : 97
    Points
    97
    Par défaut pour essayer
    pour avoir la liste des nains avec un pied d'une taille donnee :

    interface :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public class foret{
    	interface foretInterface {
    		public String getNextAction(String pied);
    	}
    }
    dans la classe abstraite habitant implementant l'interface :

    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
     
    public String getNextAction(String pied){
    String s;
    	if (this instanceof nainsBarbus ){
    		nainsBarbus p = ((nainsBarbus)this);
    		if (p.getPied()== pied)
    		s = s + ("nom = " + p.getNom() + " (pied = " + p.getPied() + ")" );	
    		} 
     
    	if (this instanceof nainsRases ){
    		nainsRases p = ((nainsRases)this);
    		if (p.getPied()== pied)
    		s = s + ("nom = " + p.getNom() + " (pied = " + p.getPied() + ")" );	
    		} 
    return s; // j'ai mis ca car java veut absolument un return
    	}
    enfin dan s la classe de test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    ...
    this.liste1.add(new nainsBarbus("grincheux", "grand"));
    this.liste1.add(new nainsRases("furieux", "grand",d));
    this.liste1.add(new Fee( "Aimante",  d));
     
    System.out.println("Liste des nains a grand pied :");
    System.out.println("------------------------");
    	for (Iterator iter = liste1.iterator(); iter.hasNext();) {
    			Habitant p = (Habitant) iter.next();
    			p.getNextAction("violet");
    	} //for
    ...
    j'ai l'erreur :
    nainRases cannot be cast to java.lang.Comparable

    ???

  19. #19
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 225
    Points : 97
    Points
    97
    Par défaut
    ok

    getNextAction ne peut pas operer 2 fois ...
    une fois pour obtenir liste1 pour les nains
    et une autre fois pour obtenir les actions possibles

    de plus la premiere fois la methode sera de type String
    et l'autre elle sera de type date..

    de plus si je met 2 methodes : getNextAction et getListePied("grnad") par exemple je vais etre oblige de les implementer non?

    du coup c peut etre pas une interface qu'il faut ??
    je sais plus
    mais merci beaucoup
    je crois que j'ai avancé quand même

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

Discussions similaires

  1. Donnez votre avis sur les articles de Developpez.com
    Par Geronimo dans le forum C++Builder
    Réponses: 13
    Dernier message: 14/01/2007, 22h00
  2. Donnez votre avis sur les articles de Developpez
    Par Anomaly dans le forum Contribuez
    Réponses: 37
    Dernier message: 29/05/2006, 21h48
  3. [Débat] Votre avis sur la section "Dev Web"
    Par Marc Lussac dans le forum Evolutions du club
    Réponses: 31
    Dernier message: 03/03/2004, 20h55
  4. Votre avis sur le schema Relax NG...
    Par Bj dans le forum Valider
    Réponses: 8
    Dernier message: 19/09/2003, 17h30
  5. Votre avis sur 1 livre SVP
    Par cab dans le forum DirectX
    Réponses: 4
    Dernier message: 17/09/2003, 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