Actuellement j'écris une méthode compareTo pour les fonctions quadratiques sous la forme: ax^2 + bx + c. A, b, c sont des coefficients entiers qui sont transmis à la classe à travers le constructeurComment implémenter proprement les méthodes compareTo?
Dans la méthode compareTo, je suis supposé d'abord comparer les coefficients a entre deux fonctions, mais si elles sont égales, je compare les coefficients b. Si les b sont égaux, je compare les c.
La méthode que je suis venu pour cela a fini par être assez laid:
public int compareTo(QuadraticFunction other)
{
if (a > other.a)
return 1;
else if (a < other.a)
return -1;
else if (b > other.b)
return 1;
else if (b < other.b)
return -1;
else if (c > other.c)
return 1;
else if (c < other.c)
return -1;
else
return 0;
}
Je me demandais, si vous avez ces systèmes « graduées » de comparaisons (comme Comparons est avant que des b avant les c), Quelle est la meilleure façon de les mettre en œuvre? Je ne peux pas imaginer écrire une méthode comme la mienne si vous devez passer par plus de 10 variables.
Merci pour l'aide! – CowZow
Cela ne fonctionne que si toutes les variables ont le même type. –
@LouisWasserman: C'est correct. Mais je pense qu'il est assez sûr de supposer que l'on représenterait des coefficients polynomiaux avec des types homogènes. –