cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020
-
5 mars 2009 à 09:12
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020
-
5 mars 2009 à 09:58
J'essaye d'implémenter la fonction compareTo() mais, eclipse détecte une erreur, il veut que je mette abstract dans ma classe mais, je ne peux pas utiliser une classe abstraite. Je ne sais pas comment faire...
Voici mon code
public class Carte implements Comparable {
private Symbole formeCarte;
private Color couleurCarte;
...................
public int compareTo(Carte carte2) {
boolean inferieure=false;
// Si une carte Vide est inférieure a toute carte
if (this.isVide()==true){
inferieure=true;
}
// On commence a trier les cartes par couleur
// Si le booleen si dessous est vrai alors, on sait que les couleurs ne sont pas égales
// en effet, l'inégalité dans la définition du booleen de la fonction précédente est stricte
if (couleurInferieure(this.getCouleur(), carte2.getCouleur())){
inferieure=true;
}
else {
if(this.getCouleur().equals(carte2.getCouleur())){
// Dans ce cas, les cartes ont la même couleur
// On va donc les comparer par valeur
if(this.getValeur()<carte2.getValeur()){
inferieure=true;
}
else {
if (this.getValeur().equals(carte2.getValeur())){
//Dans ce cas, les cartes ont même couleurs, même valeurs
//On les compare par forme
if (this.getForme().formeInferieure(carte2.getForme())){
inferieure=true;
}
else{
if(this.getForme().equals(carte2.getForme())){
inferieure=true;
}
}
}
}
}
}
if (inferieure) {
return -1;
} else {
return 1;
}
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 5 mars 2009 à 09:56
Salut,
Si tu n'utilises pas les génériques :
public class Carte implements Comparable {
...................
public int compareTo(Object o) {
Carte carte2 = (Carte)o;
...
}
}
Si tu utilises les génériques :
public class Carte implements Comparable<Carte> {
...................
public int compareTo(Carte carte2) {
...
}
}
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."