Bonjour,
alors tout d'abord moi je dis que ton code ne compile pas aux lignes suivantes:
public static void(String[] args){
car il manque le nom "main"
1 2 3 4 5 6
| for (int i = 0; i < p1.length; i++) {
p1[i] = new Polynome();
p2[i] = new Polynome();
p1[i] = 2;
p2[i] = 2;
} |
plantera sur chaque ligne car p1 et p2 ne sont pas des tableaux et n'ont donc pas d'attribut "length" ni de case [i]. Je pense que tu voulais dire: p1.polynomes et p2.polynomes à chaque fois.
Enfin
n'a pas de sens, tu n'est pas en train de manier des entiers mais des objets Polynomes.
Tu as un probleme de conception:
En faisant ça:
p1.polynomes.equals(p2.polynomes)
tu compares deux tableaux, qui ont été initialisés séparément:
1 2
| p1.polynomes = new Polynome[3];
p2.polynomes = new Polynome[3]; |
Pour rappel, quand tu compares deux tableaux, tu compares leurs références et non pas leur contenu
Tes deux tableaux sont différents, la fonction equals renvoie donc "false".
Je pense que ce que tu voulais faire était comparer les deux Polynomes n'est ce pas?
Si c'est le cas, il faut appliquer la fonction equals sur p1 et P2 directement:
Et redéfinir dans la classe Polynomes la fonction equals (comme indiqué précédemment).
Partager